Coverage Report

Created: 2025-07-20 02:04

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#if defined(SCN_MODULE) && defined(SCN_IMPORT_STD)
24
import std;
25
#else
26
#include <array>
27
#include <cstdio>
28
#include <cstring>
29
#include <iterator>
30
#include <limits>
31
#include <new>
32
#include <optional>
33
#include <string>
34
#include <string_view>
35
#include <system_error>
36
#include <tuple>
37
38
#if SCN_HAS_STD_F16 || SCN_HAS_STD_F32 || SCN_HAS_STD_F64 || \
39
    SCN_HAS_STD_F128 || SCN_HAS_STD_BF16
40
#include <stdfloat>
41
#endif
42
#endif
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
template <auto A>
85
using mp_value = std::integral_constant<decltype(A), A>;
86
87
template <bool C, typename T, typename... E>
88
struct mp_if_c_impl;
89
template <typename T, typename... E>
90
struct mp_if_c_impl<true, T, E...> {
91
    using type = T;
92
};
93
template <typename T, typename E>
94
struct mp_if_c_impl<false, T, E> {
95
    using type = E;
96
};
97
98
template <bool C, typename T, typename... E>
99
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
100
template <typename C, typename T, typename... E>
101
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
102
103
template <template <typename...> class F, typename... T>
104
struct mp_valid_impl {
105
    template <template <typename...> class G, typename = G<T...>>
106
    static std::true_type check(int);
107
    template <template <typename...> class>
108
    static std::false_type check(...);
109
110
    using type = decltype(check<F>(0));
111
};
112
113
template <template <typename...> class F, typename... T>
114
using mp_valid = typename mp_valid_impl<F, T...>::type;
115
template <template <typename...> class F, typename... T>
116
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
117
118
struct mp_nonesuch {};
119
template <template <typename...> class F, typename... T>
120
struct mp_defer_impl {
121
    using type = F<T...>;
122
};
123
124
template <template <typename...> class F, typename... T>
125
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
126
127
template <bool C, class T, template <class...> class F, class... U>
128
struct mp_eval_if_c_impl;
129
130
template <class T, template <class...> class F, class... U>
131
struct mp_eval_if_c_impl<true, T, F, U...> {
132
    using type = T;
133
};
134
135
template <class T, template <class...> class F, class... U>
136
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
137
138
template <bool C, class T, template <class...> class F, class... U>
139
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
140
template <class C, class T, template <class...> class F, class... U>
141
using mp_eval_if =
142
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
143
template <class C, class T, class Q, class... U>
144
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
145
                                                T,
146
                                                Q::template fn,
147
                                                U...>::type;
148
149
// mp_eval_if_not
150
template <class C, class T, template <class...> class F, class... U>
151
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
152
template <class C, class T, class Q, class... U>
153
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
154
155
// mp_eval_or
156
template <class T, template <class...> class F, class... U>
157
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
158
template <class T, class Q, class... U>
159
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
160
161
// mp_valid_and_true
162
template <template <class...> class F, class... T>
163
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
164
template <class Q, class... T>
165
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
166
167
// extension
168
template <template <typename...> class F, typename... T>
169
using mp_valid_result =
170
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
171
template <template <typename...> class F, typename... T>
172
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
173
174
// mp_cond
175
template <class C, class T, class... E>
176
struct mp_cond_impl;
177
178
template <class C, class T, class... E>
179
using mp_cond = typename mp_cond_impl<C, T, E...>::type;
180
181
template <class C, class T, class... E>
182
using mp_cond_ = mp_eval_if<C, T, mp_cond, E...>;
183
184
template <class C, class T, class... E>
185
struct mp_cond_impl : mp_defer<mp_cond_, C, T, E...> {};
186
187
/////////////////////////////////////////////////////////////////
188
// pointer_traits and to_address
189
/////////////////////////////////////////////////////////////////
190
191
template <typename Ptr, typename>
192
struct pointer_traits {};
193
194
template <typename T>
195
struct pointer_traits<T*, void> {
196
    using pointer = T*;
197
    using element_type = T;
198
    using difference_type = std::ptrdiff_t;
199
200
    template <typename U>
201
    using rebind = U*;
202
203
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
204
    static constexpr pointer pointer_to(U& r) noexcept
205
    {
206
        return &r;
207
    }
208
209
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
210
    {
211
        return p;
212
    }
213
};
214
215
template <typename Ptr>
216
using apply_member_difference_type = typename Ptr::difference_type;
217
template <typename Ptr>
218
using get_member_difference_type =
219
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
220
221
template <typename Ptr, typename ElementType>
222
struct pointer_traits_generic_base {
223
    using pointer = Ptr;
224
    using element_type = ElementType;
225
226
    using difference_type = get_member_difference_type<Ptr>;
227
    static_assert(std::is_integral_v<difference_type>);
228
229
    // no rebind (TODO?)
230
231
    template <typename P = Ptr>
232
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
233
    {
234
        return Ptr::pointer_to(r);
235
    }
236
};
237
238
template <typename It, typename = void>
239
struct wrapped_pointer_iterator;
240
241
#ifdef _GLIBCXX_DEBUG
242
template <typename Elem, typename Container>
243
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
244
    SCN_FORCE_INLINE static constexpr auto to_address(
245
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
246
    {
247
        return it.base();
248
    }
249
};
250
#endif
251
#if SCN_STDLIB_GLIBCXX
252
template <typename Elem, typename Container>
253
struct wrapped_pointer_iterator<
254
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
255
    SCN_FORCE_INLINE static constexpr auto to_address(
256
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
257
    {
258
        return it.base();
259
    }
260
};
261
#endif
262
#if SCN_STDLIB_LIBCPP
263
template <typename Elem>
264
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
265
    SCN_FORCE_INLINE static constexpr auto to_address(
266
        const std::__wrap_iter<Elem*>& it) noexcept
267
0
    {
268
0
        return it.base();
269
0
    }
270
};
271
#endif
272
273
template <typename I>
274
using apply_deref = decltype(*SCN_DECLVAL(I&));
275
template <typename I>
276
using apply_incr = decltype(++SCN_DECLVAL(I&));
277
template <typename I>
278
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
279
template <typename It>
280
struct wrapped_pointer_iterator<
281
    It,
282
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
283
                     mp_valid_v<apply_incr, It> &&
284
                     mp_valid_v<apply_member_unwrapped, It>>> {
285
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
286
    {
287
        return it._Unwrapped();
288
    }
289
};
290
291
template <typename I>
292
using apply_member_to_address =
293
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
294
295
template <typename Iterator>
296
struct pointer_traits<
297
    Iterator,
298
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
299
    : pointer_traits_generic_base<
300
          Iterator,
301
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
302
    SCN_FORCE_INLINE static constexpr auto to_address(
303
        const Iterator& it) noexcept
304
0
    {
305
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
306
0
    }
307
};
308
309
template <typename It>
310
using apply_ptr_traits_to_address =
311
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
312
template <typename It>
313
inline constexpr bool can_make_address_from_iterator =
314
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
315
316
template <typename T>
317
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
318
1.62M
{
319
1.62M
    return p;
320
1.62M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
318
1.32M
{
319
1.32M
    return p;
320
1.32M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
318
294k
{
319
294k
    return p;
320
294k
}
321
template <typename Ptr>
322
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
323
                                                priority_tag<1>) noexcept
324
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
325
{
326
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
327
}
328
template <typename Ptr>
329
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
330
                                                priority_tag<0>) noexcept
331
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
332
                                               priority_tag<2>{}))
333
{
334
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
335
}
336
337
template <typename Ptr>
338
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
339
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
340
1.62M
{
341
1.62M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
1.62M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
993k
{
341
993k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
993k
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
333k
{
341
333k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
333k
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
294k
{
341
294k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
294k
}
Unexecuted instantiation: _ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
343
344
}  // namespace detail
345
346
/////////////////////////////////////////////////////////////////
347
// <expected> implementation
348
/////////////////////////////////////////////////////////////////
349
350
SCN_GCC_PUSH
351
SCN_GCC_IGNORE("-Wnoexcept")
352
353
// The following implementation of expected is based on TartanLlama/expected,
354
// but is heavily modified.
355
//
356
// The original source is here:
357
//     https://github.com/TartanLlama/expected
358
// which is licensed under CC0 (Public Domain).
359
360
/**
361
 * \see `std::unexpected`
362
 */
363
template <typename E>
364
class SCN_TRIVIAL_ABI unexpected {
365
    static_assert(std::is_destructible_v<E>);
366
367
public:
368
    unexpected() = delete;
369
370
    SCN_GCC_PUSH
371
    SCN_GCC_IGNORE("-Wmaybe-uninitialized")
372
373
    template <
374
        typename Err = E,
375
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
376
                                    !std::is_same_v<Err, std::in_place_t> &&
377
                                    std::is_constructible_v<E, Err>>>
378
    explicit constexpr unexpected(Err&& e) noexcept(
379
        std::is_nothrow_constructible_v<E, Err>)
380
1.92M
        : m_unexpected(std::forward<Err>(e))
381
1.93M
    {
382
1.93M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
1.93M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
380
1.91M
        : m_unexpected(std::forward<Err>(e))
381
1.91M
    {
382
1.91M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
1.91M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
380
15.4k
        : m_unexpected(std::forward<Err>(e))
381
15.4k
    {
382
15.4k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
15.4k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
380
4.47k
        : m_unexpected(std::forward<Err>(e))
381
4.47k
    {
382
4.47k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
4.47k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
384
385
    SCN_GCC_POP
386
387
    template <typename... Args,
388
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
389
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
390
        std::is_nothrow_constructible_v<E, Args...>)
391
1.93M
        : m_unexpected(std::forward<Args>(args)...)
392
1.93M
    {
393
1.93M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
1.93M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
391
1.93M
        : m_unexpected(std::forward<Args>(args)...)
392
1.93M
    {
393
1.93M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
1.93M
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
395
396
    SCN_NODISCARD constexpr E& error() & noexcept
397
3.65M
    {
398
3.65M
        return m_unexpected;
399
3.65M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
397
3.64M
    {
398
3.64M
        return m_unexpected;
399
3.64M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
397
8.94k
    {
398
8.94k
        return m_unexpected;
399
8.94k
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
400
    SCN_NODISCARD constexpr const E& error() const& noexcept
401
0
    {
402
0
        return m_unexpected;
403
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
404
405
    SCN_NODISCARD constexpr E&& error() && noexcept
406
    {
407
        return std::move(m_unexpected);
408
    }
409
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
410
    {
411
        return std::move(m_unexpected);
412
    }
413
414
private:
415
    E m_unexpected;
416
};
417
418
template <typename E>
419
unexpected(E) -> unexpected<E>;
420
421
struct unexpect_t {};
422
inline constexpr unexpect_t unexpect{};
423
424
namespace detail {
425
template <typename T, typename... Args>
426
T* construct_at(T* p, Args&&... args) noexcept(
427
    std::is_nothrow_constructible_v<T, Args...>)
428
642k
{
429
642k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
642k
        T(std::forward<Args>(args)...);
431
642k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
428
231k
{
429
231k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
231k
        T(std::forward<Args>(args)...);
431
231k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
428
28.2k
{
429
28.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
28.2k
        T(std::forward<Args>(args)...);
431
28.2k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
428
154k
{
429
154k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
154k
        T(std::forward<Args>(args)...);
431
154k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*)
Line
Count
Source
428
28.2k
{
429
28.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
28.2k
        T(std::forward<Args>(args)...);
431
28.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
428
33.3k
{
429
33.3k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.3k
        T(std::forward<Args>(args)...);
431
33.3k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*)
Line
Count
Source
428
33.3k
{
429
33.3k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.3k
        T(std::forward<Args>(args)...);
431
33.3k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
428
33.2k
{
429
33.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.2k
        T(std::forward<Args>(args)...);
431
33.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*)
Line
Count
Source
428
33.2k
{
429
33.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.2k
        T(std::forward<Args>(args)...);
431
33.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
428
33.2k
{
429
33.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.2k
        T(std::forward<Args>(args)...);
431
33.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*)
Line
Count
Source
428
33.2k
{
429
33.2k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
33.2k
        T(std::forward<Args>(args)...);
431
33.2k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
432
template <typename T>
433
void destroy_at(T* p) noexcept
434
565k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
565k
    else {
441
565k
        p->~T();
442
565k
    }
443
565k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
434
28.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
28.2k
    else {
441
28.2k
        p->~T();
442
28.2k
    }
443
28.2k
}
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
434
309k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
309k
    else {
441
309k
        p->~T();
442
309k
    }
443
309k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>*)
Line
Count
Source
434
28.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
28.2k
    else {
441
28.2k
        p->~T();
442
28.2k
    }
443
28.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
434
33.3k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.3k
    else {
441
33.3k
        p->~T();
442
33.3k
    }
443
33.3k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>*)
Line
Count
Source
434
33.3k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.3k
    else {
441
33.3k
        p->~T();
442
33.3k
    }
443
33.3k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>*)
Line
Count
Source
434
33.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.2k
    else {
441
33.2k
        p->~T();
442
33.2k
    }
443
33.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>*)
Line
Count
Source
434
33.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.2k
    else {
441
33.2k
        p->~T();
442
33.2k
    }
443
33.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>*)
Line
Count
Source
434
33.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.2k
    else {
441
33.2k
        p->~T();
442
33.2k
    }
443
33.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>*)
Line
Count
Source
434
33.2k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
33.2k
    else {
441
33.2k
        p->~T();
442
33.2k
    }
443
33.2k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
444
445
struct deferred_init_tag_t {};
446
inline constexpr deferred_init_tag_t deferred_init_tag{};
447
448
template <typename T,
449
          typename E,
450
          bool IsTriviallyDestructible =
451
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
452
              std::is_trivially_destructible_v<E>>
453
struct expected_storage_base;
454
455
template <typename T, typename E>
456
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
457
    constexpr expected_storage_base() noexcept(
458
        std::is_nothrow_default_constructible_v<T>)
459
128k
        : m_value(T{}), m_has_value(true)
460
128k
    {
461
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
28.2k
        : m_value(T{}), m_has_value(true)
460
28.2k
    {
461
28.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
33.3k
        : m_value(T{}), m_has_value(true)
460
33.3k
    {
461
33.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
33.2k
        : m_value(T{}), m_has_value(true)
460
33.2k
    {
461
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
33.2k
        : m_value(T{}), m_has_value(true)
460
33.2k
    {
461
33.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
462
463
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
464
        : m_deferred_init(), m_has_value(false)
465
    {
466
    }
467
468
    template <typename... Args,
469
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
470
    constexpr explicit expected_storage_base(
471
        std::in_place_t,
472
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
473
1.40M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
1.40M
    {
475
1.40M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
473
45.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
45.9k
    {
475
45.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
473
61.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
61.4k
    {
475
61.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
473
22.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
22.4k
    {
475
22.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
473
22.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
22.4k
    {
475
22.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
473
264k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
264k
    {
475
264k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
473
160k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
160k
    {
475
160k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
473
45.9k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
45.9k
    {
475
45.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
473
22.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
22.4k
    {
475
22.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
473
96.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
96.0k
    {
475
96.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
473
93.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
93.4k
    {
475
93.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
473
127k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
127k
    {
475
127k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
473
115k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
115k
    {
475
115k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
473
81.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
81.3k
    {
475
81.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
473
152k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
152k
    {
475
152k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
473
93.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
93.4k
    {
475
93.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
476
477
    template <typename... Args,
478
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
479
    constexpr explicit expected_storage_base(
480
        unexpect_t,
481
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
482
1.10M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.10M
          m_has_value(false)
484
1.10M
    {
485
1.10M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
12.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
12.8k
          m_has_value(false)
484
12.8k
    {
485
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
38.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
38.6k
          m_has_value(false)
484
38.6k
    {
485
38.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
12.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
12.8k
          m_has_value(false)
484
12.8k
    {
485
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
38.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
38.6k
          m_has_value(false)
484
38.6k
    {
485
38.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
25.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
25.7k
          m_has_value(false)
484
25.7k
    {
485
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
77.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
77.3k
          m_has_value(false)
484
77.3k
    {
485
77.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
25.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
25.7k
          m_has_value(false)
484
25.7k
    {
485
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
77.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
77.3k
          m_has_value(false)
484
77.3k
    {
485
77.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
148k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
148k
          m_has_value(false)
484
148k
    {
485
148k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
294k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
294k
          m_has_value(false)
484
294k
    {
485
294k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
231k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
231k
          m_has_value(false)
484
231k
    {
485
231k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
39.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
39.4k
          m_has_value(false)
484
39.4k
    {
485
39.4k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
78.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
78.4k
          m_has_value(false)
484
78.4k
    {
485
78.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
1.45k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.45k
          m_has_value(false)
484
1.45k
    {
485
1.45k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
750
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
750
          m_has_value(false)
484
750
    {
485
750
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
1.13k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.13k
          m_has_value(false)
484
1.13k
    {
485
1.13k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
1.13k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.13k
          m_has_value(false)
484
1.13k
    {
485
1.13k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
486
487
    constexpr T& get_value() & noexcept
488
1.72M
    {
489
1.72M
        return m_value;
490
1.72M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
58.8k
    {
489
58.8k
        return m_value;
490
58.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
45.9k
    {
489
45.9k
        return m_value;
490
45.9k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
236k
    {
489
236k
        return m_value;
490
236k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
310k
    {
489
310k
        return m_value;
490
310k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
74.3k
    {
489
74.3k
        return m_value;
490
74.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
61.4k
    {
489
61.4k
        return m_value;
490
61.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
48.2k
    {
489
48.2k
        return m_value;
490
48.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
22.4k
    {
489
22.4k
        return m_value;
490
22.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
183k
    {
489
183k
        return m_value;
490
183k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
48.2k
    {
489
48.2k
        return m_value;
490
48.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
22.4k
    {
489
22.4k
        return m_value;
490
22.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
96.0k
    {
489
96.0k
        return m_value;
490
96.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
93.4k
    {
489
93.4k
        return m_value;
490
93.4k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
127k
    {
489
127k
        return m_value;
490
127k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
115k
    {
489
115k
        return m_value;
490
115k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
81.3k
    {
489
81.3k
        return m_value;
490
81.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
93.4k
    {
489
93.4k
        return m_value;
490
93.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
491
    constexpr const T& get_value() const& noexcept
492
0
    {
493
0
        return m_value;
494
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
495
    constexpr T&& get_value() && noexcept
496
0
    {
497
0
        return std::move(m_value);
498
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
499
    constexpr const T&& get_value() const&& noexcept
500
    {
501
        return std::move(m_value);
502
    }
503
504
    constexpr unexpected<E>& get_unexpected() & noexcept
505
1.10M
    {
506
1.10M
        return m_unexpected;
507
1.10M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
38.6k
    {
506
38.6k
        return m_unexpected;
507
38.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
12.8k
    {
506
12.8k
        return m_unexpected;
507
12.8k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
231k
    {
506
231k
        return m_unexpected;
507
231k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
148k
    {
506
148k
        return m_unexpected;
507
148k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
38.6k
    {
506
38.6k
        return m_unexpected;
507
38.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
12.8k
    {
506
12.8k
        return m_unexpected;
507
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
77.3k
    {
506
77.3k
        return m_unexpected;
507
77.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
25.7k
    {
506
25.7k
        return m_unexpected;
507
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
294k
    {
506
294k
        return m_unexpected;
507
294k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
77.3k
    {
506
77.3k
        return m_unexpected;
507
77.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
25.7k
    {
506
25.7k
        return m_unexpected;
507
25.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
1.45k
    {
506
1.45k
        return m_unexpected;
507
1.45k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
1.13k
    {
506
1.13k
        return m_unexpected;
507
1.13k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
39.4k
    {
506
39.4k
        return m_unexpected;
507
39.4k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
78.4k
    {
506
78.4k
        return m_unexpected;
507
78.4k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
750
    {
506
750
        return m_unexpected;
507
750
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
1.13k
    {
506
1.13k
        return m_unexpected;
507
1.13k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
508
    constexpr const unexpected<E>& get_unexpected() const& noexcept
509
0
    {
510
0
        return m_unexpected;
511
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
512
    constexpr unexpected<E>&& get_unexpected() && noexcept
513
77.3k
    {
514
77.3k
        return std::move(m_unexpected);
515
77.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
12.8k
    {
514
12.8k
        return std::move(m_unexpected);
515
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
12.8k
    {
514
12.8k
        return std::move(m_unexpected);
515
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
25.7k
    {
514
25.7k
        return std::move(m_unexpected);
515
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
25.7k
    {
514
25.7k
        return std::move(m_unexpected);
515
25.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
516
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
517
    {
518
        return std::move(m_unexpected);
519
    }
520
521
    SCN_NODISCARD constexpr bool has_value() const noexcept
522
5.66M
    {
523
5.66M
        return m_has_value;
524
5.66M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
169k
    {
523
169k
        return m_has_value;
524
169k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
112k
    {
523
112k
        return m_has_value;
524
112k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
1.05M
    {
523
1.05M
        return m_has_value;
524
1.05M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
918k
    {
523
918k
        return m_has_value;
524
918k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
200k
    {
523
200k
        return m_has_value;
524
200k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
133k
    {
523
133k
        return m_has_value;
524
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
199k
    {
523
199k
        return m_has_value;
524
199k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
133k
    {
523
133k
        return m_has_value;
524
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
956k
    {
523
956k
        return m_has_value;
524
956k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
199k
    {
523
199k
        return m_has_value;
524
199k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
133k
    {
523
133k
        return m_has_value;
524
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
195k
    {
523
195k
        return m_has_value;
524
195k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
189k
    {
523
189k
        return m_has_value;
524
189k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
333k
    {
523
333k
        return m_has_value;
524
333k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
388k
    {
523
388k
        return m_has_value;
524
388k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
164k
    {
523
164k
        return m_has_value;
524
164k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
189k
    {
523
189k
        return m_has_value;
524
189k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
525
526
    template <typename... Args>
527
    void construct(Args&&... args) noexcept(
528
        std::is_nothrow_constructible_v<T, Args...>)
529
0
    {
530
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
531
0
        m_has_value = true;
532
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
533
    template <typename... Args>
534
    void construct_unexpected(Args&&... args) noexcept(
535
        std::is_nothrow_constructible_v<E, Args...>)
536
77.3k
    {
537
77.3k
        scn::detail::construct_at(&get_unexpected(),
538
77.3k
                                  std::forward<Args>(args)...);
539
77.3k
        m_has_value = false;
540
77.3k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
12.8k
    {
537
12.8k
        scn::detail::construct_at(&get_unexpected(),
538
12.8k
                                  std::forward<Args>(args)...);
539
12.8k
        m_has_value = false;
540
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
12.8k
    {
537
12.8k
        scn::detail::construct_at(&get_unexpected(),
538
12.8k
                                  std::forward<Args>(args)...);
539
12.8k
        m_has_value = false;
540
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
25.7k
    {
537
25.7k
        scn::detail::construct_at(&get_unexpected(),
538
25.7k
                                  std::forward<Args>(args)...);
539
25.7k
        m_has_value = false;
540
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
25.7k
    {
537
25.7k
        scn::detail::construct_at(&get_unexpected(),
538
25.7k
                                  std::forward<Args>(args)...);
539
25.7k
        m_has_value = false;
540
25.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
541
542
    // No-op, because T and E are trivially destructible
543
77.3k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
12.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
12.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
25.7k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
25.7k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
544
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
545
546
private:
547
    union {
548
        T m_value;
549
        unexpected<E> m_unexpected;
550
        char m_deferred_init;
551
    };
552
    bool m_has_value;
553
};
554
555
template <typename E>
556
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
557
#if SCN_STD >= SCN_STD_20
558
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
559
#else
560
    constexpr expected_storage_base() noexcept
561
2.00M
        : m_deferred_init(), m_has_value(true)
562
2.00M
    {
563
2.00M
    }
564
#endif
565
566
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
567
        : m_deferred_init(), m_has_value(false)
568
    {
569
    }
570
571
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
572
        : m_has_value(true)
573
    {
574
    }
575
576
    template <typename... Args,
577
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
578
    explicit constexpr expected_storage_base(
579
        unexpect_t,
580
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
581
675k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
582
675k
          m_has_value(false)
583
675k
    {
584
675k
    }
585
586
    constexpr unexpected<E>& get_unexpected() & noexcept
587
691k
    {
588
691k
        return m_unexpected;
589
691k
    }
590
    constexpr const unexpected<E>& get_unexpected() const& noexcept
591
    {
592
        return m_unexpected;
593
    }
594
    constexpr unexpected<E>&& get_unexpected() && noexcept
595
    {
596
        return std::move(m_unexpected);
597
    }
598
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
599
    {
600
        return std::move(m_unexpected);
601
    }
602
603
    SCN_NODISCARD constexpr bool has_value() const noexcept
604
5.48M
    {
605
5.48M
        return m_has_value;
606
5.48M
    }
607
608
    template <typename... Args>
609
    void construct(Args&&...) noexcept
610
    {
611
        m_has_value = true;
612
    }
613
    template <typename... Args>
614
    void construct_unexpected(Args&&... args) noexcept(
615
        std::is_nothrow_constructible_v<E, Args...>)
616
    {
617
        scn::detail::construct_at(&get_unexpected(),
618
                                  std::forward<Args>(args)...);
619
        m_has_value = false;
620
    }
621
622
    static constexpr void destroy_value() noexcept {}
623
    static constexpr void destroy_unexpected() noexcept {}
624
625
private:
626
    union {
627
        unexpected<E> m_unexpected;
628
        char m_deferred_init;
629
    };
630
    bool m_has_value;
631
};
632
633
/**
634
 * Implementation of `std::max` without including `<algorithm>`
635
 */
636
template <typename T>
637
constexpr T max(T a, T b) noexcept
638
0
{
639
0
    return (a < b) ? b : a;
640
0
}
641
642
template <typename T, typename E>
643
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
644
256k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
256k
    {
646
256k
        construct();
647
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
28.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
28.2k
    {
646
28.2k
        construct();
647
28.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
28.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
28.2k
    {
646
28.2k
        construct();
647
28.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.3k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.3k
    {
646
33.3k
        construct();
647
33.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.3k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.3k
    {
646
33.3k
        construct();
647
33.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.2k
    {
646
33.2k
        construct();
647
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.2k
    {
646
33.2k
        construct();
647
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.2k
    {
646
33.2k
        construct();
647
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
644
33.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
33.2k
    {
646
33.2k
        construct();
647
33.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
648
649
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
650
        : m_has_value(false)
651
    {
652
    }
653
654
    template <typename... Args,
655
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
656
    explicit constexpr expected_storage_base(
657
        std::in_place_t,
658
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
659
0
        : m_has_value(true)
660
0
    {
661
0
        construct(std::forward<Args>(args)...);
662
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
663
664
    template <typename... Args,
665
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
666
    explicit constexpr expected_storage_base(
667
        unexpect_t,
668
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
669
154k
        : m_has_value(false)
670
154k
    {
671
154k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
154k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
12.8k
        : m_has_value(false)
670
12.8k
    {
671
12.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
12.8k
        : m_has_value(false)
670
12.8k
    {
671
12.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
12.8k
        : m_has_value(false)
670
12.8k
    {
671
12.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
12.8k
        : m_has_value(false)
670
12.8k
    {
671
12.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
25.7k
        : m_has_value(false)
670
25.7k
    {
671
25.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
25.7k
        : m_has_value(false)
670
25.7k
    {
671
25.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
25.7k
        : m_has_value(false)
670
25.7k
    {
671
25.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
25.7k
        : m_has_value(false)
670
25.7k
    {
671
25.7k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
25.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
673
674
    ~expected_storage_base()
675
410k
    {
676
410k
        if (has_value()) {
677
101k
            destroy_value();
678
101k
        }
679
309k
        else {
680
309k
            destroy_unexpected();
681
309k
        }
682
410k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
41.0k
    {
676
41.0k
        if (has_value()) {
677
15.3k
            destroy_value();
678
15.3k
        }
679
25.7k
        else {
680
25.7k
            destroy_unexpected();
681
25.7k
        }
682
41.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
41.0k
    {
676
41.0k
        if (has_value()) {
677
15.3k
            destroy_value();
678
15.3k
        }
679
25.7k
        else {
680
25.7k
            destroy_unexpected();
681
25.7k
        }
682
41.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
46.2k
    {
676
46.2k
        if (has_value()) {
677
20.4k
            destroy_value();
678
20.4k
        }
679
25.7k
        else {
680
25.7k
            destroy_unexpected();
681
25.7k
        }
682
46.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
46.2k
    {
676
46.2k
        if (has_value()) {
677
20.4k
            destroy_value();
678
20.4k
        }
679
25.7k
        else {
680
25.7k
            destroy_unexpected();
681
25.7k
        }
682
46.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
59.0k
    {
676
59.0k
        if (has_value()) {
677
7.48k
            destroy_value();
678
7.48k
        }
679
51.5k
        else {
680
51.5k
            destroy_unexpected();
681
51.5k
        }
682
59.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
59.0k
    {
676
59.0k
        if (has_value()) {
677
7.48k
            destroy_value();
678
7.48k
        }
679
51.5k
        else {
680
51.5k
            destroy_unexpected();
681
51.5k
        }
682
59.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
59.0k
    {
676
59.0k
        if (has_value()) {
677
7.48k
            destroy_value();
678
7.48k
        }
679
51.5k
        else {
680
51.5k
            destroy_unexpected();
681
51.5k
        }
682
59.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
59.0k
    {
676
59.0k
        if (has_value()) {
677
7.48k
            destroy_value();
678
7.48k
        }
679
51.5k
        else {
680
51.5k
            destroy_unexpected();
681
51.5k
        }
682
59.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
683
684
    constexpr T& get_value() & noexcept
685
459k
    {
686
459k
        return *value_ptr();
687
459k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
58.8k
    {
686
58.8k
        return *value_ptr();
687
58.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
58.8k
    {
686
58.8k
        return *value_ptr();
687
58.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
74.3k
    {
686
74.3k
        return *value_ptr();
687
74.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
74.3k
    {
686
74.3k
        return *value_ptr();
687
74.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
48.2k
    {
686
48.2k
        return *value_ptr();
687
48.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
48.2k
    {
686
48.2k
        return *value_ptr();
687
48.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
48.2k
    {
686
48.2k
        return *value_ptr();
687
48.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
48.2k
    {
686
48.2k
        return *value_ptr();
687
48.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
688
    constexpr const T& get_value() const& noexcept
689
    {
690
        return *value_ptr();
691
    }
692
    constexpr T&& get_value() && noexcept
693
0
    {
694
0
        return std::move(*value_ptr());
695
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
696
    constexpr const T&& get_value() const&& noexcept
697
    {
698
        return std::move(*value_ptr());
699
    }
700
701
    constexpr unexpected<E>& get_unexpected() & noexcept
702
0
    {
703
0
        return *unexpected_ptr();
704
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
705
    constexpr const unexpected<E>& get_unexpected() const& noexcept
706
    {
707
        return *unexpected_ptr();
708
    }
709
    constexpr unexpected<E>&& get_unexpected() && noexcept
710
154k
    {
711
154k
        return std::move(*unexpected_ptr());
712
154k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
12.8k
    {
711
12.8k
        return std::move(*unexpected_ptr());
712
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
12.8k
    {
711
12.8k
        return std::move(*unexpected_ptr());
712
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
12.8k
    {
711
12.8k
        return std::move(*unexpected_ptr());
712
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
12.8k
    {
711
12.8k
        return std::move(*unexpected_ptr());
712
12.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
25.7k
    {
711
25.7k
        return std::move(*unexpected_ptr());
712
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
25.7k
    {
711
25.7k
        return std::move(*unexpected_ptr());
712
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
25.7k
    {
711
25.7k
        return std::move(*unexpected_ptr());
712
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
710
25.7k
    {
711
25.7k
        return std::move(*unexpected_ptr());
712
25.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
713
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
714
    {
715
        return std::move(*unexpected_ptr());
716
    }
717
718
    SCN_NODISCARD constexpr bool has_value() const noexcept
719
1.43M
    {
720
1.43M
        return m_has_value;
721
1.43M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
153k
    {
720
153k
        return m_has_value;
721
153k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
153k
    {
720
153k
        return m_has_value;
721
153k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
179k
    {
720
179k
        return m_has_value;
721
179k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
179k
    {
720
179k
        return m_has_value;
721
179k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
192k
    {
720
192k
        return m_has_value;
721
192k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
192k
    {
720
192k
        return m_has_value;
721
192k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
192k
    {
720
192k
        return m_has_value;
721
192k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
192k
    {
720
192k
        return m_has_value;
721
192k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
722
723
    template <typename... Args>
724
    void construct(Args&&... args) noexcept(
725
        std::is_nothrow_constructible_v<T, Args...>)
726
256k
    {
727
256k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
256k
        m_has_value = true;
729
256k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
28.2k
    {
727
28.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
28.2k
        m_has_value = true;
729
28.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
28.2k
    {
727
28.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
28.2k
        m_has_value = true;
729
28.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.3k
    {
727
33.3k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.3k
        m_has_value = true;
729
33.3k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.3k
    {
727
33.3k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.3k
        m_has_value = true;
729
33.3k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.2k
    {
727
33.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.2k
        m_has_value = true;
729
33.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.2k
    {
727
33.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.2k
        m_has_value = true;
729
33.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.2k
    {
727
33.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.2k
        m_has_value = true;
729
33.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
726
33.2k
    {
727
33.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
33.2k
        m_has_value = true;
729
33.2k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
730
    template <typename... Args>
731
    void construct_unexpected(Args&&... args) noexcept(
732
        std::is_nothrow_constructible_v<E, Args...>)
733
309k
    {
734
309k
        scn::detail::construct_at(unexpected_ptr(),
735
309k
                                  std::forward<Args>(args)...);
736
309k
        m_has_value = false;
737
309k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
12.8k
    {
734
12.8k
        scn::detail::construct_at(unexpected_ptr(),
735
12.8k
                                  std::forward<Args>(args)...);
736
12.8k
        m_has_value = false;
737
12.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
733
25.7k
    {
734
25.7k
        scn::detail::construct_at(unexpected_ptr(),
735
25.7k
                                  std::forward<Args>(args)...);
736
25.7k
        m_has_value = false;
737
25.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
738
739
    void destroy_value() noexcept
740
256k
    {
741
256k
        scn::detail::destroy_at(value_ptr());
742
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
28.2k
    {
741
28.2k
        scn::detail::destroy_at(value_ptr());
742
28.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
28.2k
    {
741
28.2k
        scn::detail::destroy_at(value_ptr());
742
28.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.3k
    {
741
33.3k
        scn::detail::destroy_at(value_ptr());
742
33.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.3k
    {
741
33.3k
        scn::detail::destroy_at(value_ptr());
742
33.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.2k
    {
741
33.2k
        scn::detail::destroy_at(value_ptr());
742
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.2k
    {
741
33.2k
        scn::detail::destroy_at(value_ptr());
742
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.2k
    {
741
33.2k
        scn::detail::destroy_at(value_ptr());
742
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
33.2k
    {
741
33.2k
        scn::detail::destroy_at(value_ptr());
742
33.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
743
    void destroy_unexpected() noexcept
744
309k
    {
745
309k
        scn::detail::destroy_at(unexpected_ptr());
746
309k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
25.7k
    {
745
25.7k
        scn::detail::destroy_at(unexpected_ptr());
746
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
25.7k
    {
745
25.7k
        scn::detail::destroy_at(unexpected_ptr());
746
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
25.7k
    {
745
25.7k
        scn::detail::destroy_at(unexpected_ptr());
746
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
25.7k
    {
745
25.7k
        scn::detail::destroy_at(unexpected_ptr());
746
25.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
51.5k
    {
745
51.5k
        scn::detail::destroy_at(unexpected_ptr());
746
51.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
51.5k
    {
745
51.5k
        scn::detail::destroy_at(unexpected_ptr());
746
51.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
51.5k
    {
745
51.5k
        scn::detail::destroy_at(unexpected_ptr());
746
51.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
51.5k
    {
745
51.5k
        scn::detail::destroy_at(unexpected_ptr());
746
51.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
747
748
private:
749
    T* value_ptr() noexcept
750
971k
    {
751
971k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
971k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
115k
    {
751
115k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
115k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
115k
    {
751
115k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
115k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
141k
    {
751
141k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
141k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
141k
    {
751
141k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
141k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
114k
    {
751
114k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
114k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
114k
    {
751
114k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
114k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
114k
    {
751
114k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
114k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
114k
    {
751
114k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
114k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
753
    const T* value_ptr() const noexcept
754
    {
755
        return reinterpret_cast<const T*>(
756
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
757
    }
758
759
    SCN_GCC_PUSH
760
    SCN_GCC_IGNORE("-Wcast-align")
761
    unexpected<E>* unexpected_ptr() noexcept
762
773k
    {
763
773k
        return reinterpret_cast<unexpected<E>*>(
764
773k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
773k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
64.4k
    {
763
64.4k
        return reinterpret_cast<unexpected<E>*>(
764
64.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
64.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
64.4k
    {
763
64.4k
        return reinterpret_cast<unexpected<E>*>(
764
64.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
64.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
64.4k
    {
763
64.4k
        return reinterpret_cast<unexpected<E>*>(
764
64.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
64.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
64.4k
    {
763
64.4k
        return reinterpret_cast<unexpected<E>*>(
764
64.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
64.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
128k
    {
763
128k
        return reinterpret_cast<unexpected<E>*>(
764
128k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
128k
    {
763
128k
        return reinterpret_cast<unexpected<E>*>(
764
128k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
128k
    {
763
128k
        return reinterpret_cast<unexpected<E>*>(
764
128k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
128k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
128k
    {
763
128k
        return reinterpret_cast<unexpected<E>*>(
764
128k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
128k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
766
    const unexpected<E>* unexpected_ptr() const noexcept
767
    {
768
        return reinterpret_cast<const unexpected<E>*>(
769
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
770
    }
771
    SCN_GCC_POP
772
773
    static constexpr std::size_t required_size =
774
        detail::max(sizeof(T), sizeof(unexpected<E>));
775
    static constexpr std::size_t required_alignment =
776
        detail::max(alignof(T), alignof(unexpected<E>));
777
778
    alignas(required_alignment) unsigned char m_memory[required_size];
779
    bool m_has_value;
780
};
781
782
template <typename E>
783
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
784
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
785
786
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
787
        : m_has_value(false)
788
    {
789
    }
790
791
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
792
        : m_has_value(true)
793
    {
794
    }
795
796
    template <typename... Args,
797
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
798
    explicit constexpr expected_storage_base(
799
        unexpect_t,
800
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
801
        : m_has_value(false)
802
    {
803
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
804
    }
805
806
    ~expected_storage_base()
807
    {
808
        if (!has_value()) {
809
            destroy_unexpected();
810
        }
811
    }
812
813
    constexpr unexpected<E>& get_unexpected() & noexcept
814
    {
815
        return *unexpected_ptr();
816
    }
817
    constexpr const unexpected<E>& get_unexpected() const& noexcept
818
    {
819
        return *unexpected_ptr();
820
    }
821
    constexpr unexpected<E>&& get_unexpected() && noexcept
822
    {
823
        return std::move(*unexpected_ptr());
824
    }
825
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
826
    {
827
        return std::move(*unexpected_ptr());
828
    }
829
830
    SCN_NODISCARD constexpr bool has_value() const noexcept
831
    {
832
        return m_has_value;
833
    }
834
835
    template <typename... Args>
836
    constexpr void construct(Args&&...) noexcept
837
    {
838
        m_has_value = true;
839
    }
840
    template <typename... Args>
841
    void construct_unexpected(Args&&... args) noexcept(
842
        std::is_nothrow_constructible_v<E, Args...>)
843
    {
844
        scn::detail::construct_at(unexpected_ptr(),
845
                                  std::forward<Args>(args)...);
846
        m_has_value = false;
847
    }
848
849
    static constexpr void destroy_value() noexcept {}
850
    void destroy_unexpected() noexcept
851
    {
852
        scn::detail::destroy_at(unexpected_ptr());
853
    }
854
855
private:
856
    SCN_GCC_PUSH
857
    SCN_GCC_IGNORE("-Wcast-align")
858
    unexpected<E>* unexpected_ptr()
859
    {
860
        return reinterpret_cast<unexpected<E>*>(m_memory);
861
    }
862
    const unexpected<E>* unexpected_ptr() const
863
    {
864
        return reinterpret_cast<const unexpected<E>*>(m_memory);
865
    }
866
    SCN_GCC_POP
867
868
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
869
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
870
871
    alignas(required_alignment) unsigned char m_memory[required_size];
872
    bool m_has_value;
873
};
874
875
template <typename T, typename U>
876
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
877
878
template <typename T, typename E, typename Enable = void>
879
struct expected_operations_base;
880
881
template <typename T, typename E>
882
struct SCN_TRIVIAL_ABI expected_operations_base<
883
    T,
884
    E,
885
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
886
                     std::is_trivially_copyable_v<E>>>
887
    : expected_storage_base<T, E> {
888
    using expected_storage_base<T, E>::expected_storage_base;
889
};
890
891
template <typename T, typename E>
892
struct SCN_TRIVIAL_ABI expected_operations_base<
893
    T,
894
    E,
895
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
896
                                            !std::is_trivially_copyable_v<E>)>>
897
    : expected_storage_base<T, E> {
898
    using expected_storage_base<T, E>::expected_storage_base;
899
900
    expected_operations_base(const expected_operations_base& other) noexcept(
901
        std::is_nothrow_copy_constructible_v<T> &&
902
        std::is_nothrow_copy_constructible_v<E>)
903
        : expected_storage_base<T, E>(deferred_init_tag)
904
    {
905
        construct_common(other);
906
    }
907
    expected_operations_base(expected_operations_base&& other) noexcept(
908
        std::is_nothrow_move_constructible_v<T> &&
909
        std::is_nothrow_move_constructible_v<E>)
910
        : expected_storage_base<T, E>(deferred_init_tag)
911
    {
912
        construct_common(std::move(other));
913
    }
914
915
    expected_operations_base& operator=(const expected_operations_base& other)
916
    // gcc 11 and lower evaluate noexcept in a weird context
917
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
918
        noexcept(noexcept(
919
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
920
#else
921
        noexcept(noexcept(assign_common(other)))
922
#endif
923
    {
924
        assign_common(other);
925
        return *this;
926
    }
927
    expected_operations_base& operator=(expected_operations_base&& other)
928
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
929
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
930
                              .assign_common(std::move(other))))
931
#else
932
        noexcept(noexcept(assign_common(std::move(other))))
933
#endif
934
231k
    {
935
231k
        assign_common(std::move(other));
936
231k
        return *this;
937
231k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
12.8k
    {
935
12.8k
        assign_common(std::move(other));
936
12.8k
        return *this;
937
12.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
25.7k
    {
935
25.7k
        assign_common(std::move(other));
936
25.7k
        return *this;
937
25.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
938
939
    ~expected_operations_base() = default;
940
941
private:
942
    template <typename Other>
943
    void construct_common(Other&& other) noexcept(
944
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
945
                     .construct(std::forward<Other>(other).get_value())) &&
946
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
947
                     .construct_unexpected(
948
                         std::forward<Other>(other).get_unexpected())))
949
0
    {
950
0
        if (other.has_value()) {
951
0
            this->construct(std::forward<Other>(other).get_value());
952
0
        }
953
0
        else {
954
0
            this->construct_unexpected(
955
0
                std::forward<Other>(other).get_unexpected());
956
0
        }
957
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
958
959
    template <typename Other>
960
    void assign_common(Other&& other)
961
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
962
        noexcept(
963
            noexcept(SCN_DECLVAL(expected_operations_base&)
964
                         .reassign_value(std::forward<Other>(other))) &&
965
            noexcept(SCN_DECLVAL(expected_operations_base&)
966
                         .reassign_unexpected(std::forward<Other>(other))) &&
967
            noexcept(SCN_DECLVAL(expected_operations_base&)
968
                         .assign_value_over_unexpected(
969
                             std::forward<Other>(other))) &&
970
            noexcept(
971
                SCN_DECLVAL(expected_operations_base&)
972
                    .assign_unexpected_over_value(std::forward<Other>(other))))
973
#else
974
        noexcept(
975
            noexcept(reassign_value(std::forward<Other>(other))) &&
976
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
977
            noexcept(
978
                assign_value_over_unexpected(std::forward<Other>(other))) &&
979
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
980
#endif
981
231k
    {
982
231k
        if (this->has_value()) {
983
231k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
231k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
231k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
12.8k
    {
982
12.8k
        if (this->has_value()) {
983
12.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
12.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
12.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
25.7k
    {
982
25.7k
        if (this->has_value()) {
983
25.7k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
25.7k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
25.7k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
994
995
    template <typename Other>
996
    void reassign_value(Other&& other) noexcept(
997
        std::is_nothrow_assignable_v<
998
            T,
999
            decltype(std::forward<Other>(other).get_value())>)
1000
0
    {
1001
0
        this->get_value() = std::forward<Other>(other).get_value();
1002
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1003
1004
    template <typename Other>
1005
    void reassign_unexpected(Other&& other) noexcept(
1006
        std::is_nothrow_assignable_v<
1007
            E,
1008
            decltype(std::forward<Other>(other).get_unexpected())>)
1009
0
    {
1010
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1011
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1012
1013
#if SCN_HAS_EXCEPTIONS
1014
    void assign_value_over_unexpected(
1015
        const expected_operations_base&
1016
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
1017
                            std::is_nothrow_move_constructible_v<T>)
1018
    {
1019
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
1020
            this->destroy_unexpected();
1021
            this->construct(other.get_value());
1022
        }
1023
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
1024
            T tmp = other.get_value();
1025
            this->destroy_unexpected();
1026
            this->construct(std::move(tmp));
1027
        }
1028
        else {
1029
            auto tmp = std::move(this->get_unexpecetd());
1030
            this->destroy_unexpected();
1031
1032
            try {
1033
                this->construct(other.get());
1034
            }
1035
            catch (...) {
1036
                this->construct_unexpected(std::move(tmp));
1037
                throw;
1038
            }
1039
        }
1040
    }
1041
1042
    void
1043
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1044
        std::is_nothrow_move_constructible_v<T>)
1045
0
    {
1046
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1047
0
            this->destroy_unexpected();
1048
0
            this->construct(std::move(other).get_value());
1049
        }
1050
        else {
1051
            auto tmp = std::move(this->get_unexpected());
1052
            this->destroy_unexpected();
1053
1054
            try {
1055
                this->construct(std::move(other).get_value());
1056
            }
1057
            catch (...) {
1058
                this->construct_unexpected(std::move(tmp));
1059
                throw;
1060
            }
1061
        }
1062
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1063
#else
1064
    template <typename Other>
1065
    void assing_value_over_unexpected(Other&& other) noexcept
1066
    {
1067
        this->destroy_unexpected();
1068
        this->construct_value(std::forward<Other>(other).get_value());
1069
    }
1070
#endif
1071
1072
    template <typename Other>
1073
    void assign_unexpected_over_value(Other&& other) noexcept(
1074
        std::is_nothrow_constructible_v<
1075
            E,
1076
            decltype(std::forward<Other>(other).get_unexpected())>)
1077
231k
    {
1078
231k
        this->destroy_value();
1079
231k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
231k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
12.8k
    {
1078
12.8k
        this->destroy_value();
1079
12.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
12.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
25.7k
    {
1078
25.7k
        this->destroy_value();
1079
25.7k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
25.7k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1081
};
1082
1083
template <typename E>
1084
struct SCN_TRIVIAL_ABI
1085
    expected_operations_base<void,
1086
                             E,
1087
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1088
    : expected_storage_base<void, E> {
1089
    using expected_storage_base<void, E>::expected_storage_base;
1090
1091
    expected_operations_base(const expected_operations_base& other) noexcept(
1092
        std::is_nothrow_copy_constructible_v<E>)
1093
        : expected_storage_base<void, E>(deferred_init_tag)
1094
    {
1095
        construct_common(other);
1096
    }
1097
    expected_operations_base(expected_operations_base&& other) noexcept(
1098
        std::is_nothrow_move_constructible_v<E>)
1099
        : expected_storage_base<void, E>(deferred_init_tag)
1100
    {
1101
        construct_common(std::move(other));
1102
    }
1103
1104
    expected_operations_base& operator=(const expected_operations_base& other)
1105
    // gcc 11 and lower evaluate noexcept in a weird context
1106
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1107
        noexcept(noexcept(
1108
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1109
#else
1110
        noexcept(noexcept(assign_common(other)))
1111
#endif
1112
    {
1113
        assign_common(other);
1114
        return *this;
1115
    }
1116
    expected_operations_base& operator=(expected_operations_base&& other)
1117
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1118
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1119
                              .assign_common(std::move(other))))
1120
#else
1121
        noexcept(noexcept(assign_common(std::move(other))))
1122
#endif
1123
    {
1124
        assign_common(std::move(other));
1125
        return *this;
1126
    }
1127
1128
    ~expected_operations_base() = default;
1129
1130
private:
1131
    template <typename Other>
1132
    void construct_common(Other&& other) noexcept(
1133
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1134
            std::forward<Other>(other).get_unexpected())))
1135
    {
1136
        if (other.has_value()) {
1137
            this->construct();
1138
        }
1139
        else {
1140
            this->construct_unexpected(
1141
                std::forward<Other>(other).get_unexpected());
1142
        }
1143
    }
1144
1145
    template <typename Other>
1146
    void assign_common(Other&& other)
1147
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1148
        noexcept(
1149
            noexcept(SCN_DECLVAL(expected_operations_base&)
1150
                         .reassign_unexpected(std::forward<Other>(other))) &&
1151
            noexcept(
1152
                SCN_DECLVAL(expected_operations_base&)
1153
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1154
#else
1155
        noexcept(
1156
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1157
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1158
#endif
1159
    {
1160
        if (this->has_value()) {
1161
            if (other.has_value()) {
1162
                return reassign_value();
1163
            }
1164
            return assign_unexpected_over_value(std::forward<Other>(other));
1165
        }
1166
1167
        if (other.has_value()) {
1168
            return assign_value_over_unexpected();
1169
        }
1170
        return reassign_unexpected(std::forward<Other>(other));
1171
    }
1172
1173
    void reassign_value() noexcept {}
1174
1175
    template <typename Other>
1176
    void reassign_unexpected(Other&& other) noexcept(
1177
        std::is_nothrow_assignable_v<
1178
            E,
1179
            decltype(std::forward<Other>(other).get_unexpected())>)
1180
    {
1181
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1182
    }
1183
1184
    void assign_value_over_unexpected() noexcept
1185
    {
1186
        this->destroy_unexpected();
1187
        this->construct();
1188
    }
1189
1190
    template <typename Other>
1191
    void assign_unexpected_over_value(Other&& other) noexcept(
1192
        std::is_nothrow_constructible_v<
1193
            E,
1194
            decltype(std::forward<Other>(other).get_unexpected())>)
1195
    {
1196
        this->destroy_value();
1197
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1198
    }
1199
};
1200
1201
/*
1202
 * Base class trickery to conditionally mark copy and move
1203
 * constructors of an expected as =deleted.
1204
 *
1205
 * We need to do this, because otherwise utilities like
1206
 * std::is_copy_constructible wouldn't work for expected: the
1207
 * constructors need to be explicitly =deleted, not just cause a
1208
 * compiler error when trying to copy a value of a non-copyable
1209
 * type.
1210
 *
1211
 * Rationale for doing this with base classes is above.
1212
 */
1213
template <
1214
    typename T,
1215
    typename E,
1216
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1217
                       std::is_copy_constructible_v<E>),
1218
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1219
                       std::is_move_constructible_v<E>)>
1220
struct expected_delete_ctor_base;
1221
1222
// Implementation for types that are both copy and move
1223
// constructible: Copy and move constructors are =defaulted
1224
template <typename T, typename E>
1225
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1226
    expected_delete_ctor_base() = default;
1227
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1228
        default;
1229
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1230
    ~expected_delete_ctor_base() = default;
1231
1232
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1233
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1234
};
1235
1236
// Implementation for types that are neither copy nor move
1237
// constructible: Copy and move constructors are =deleted
1238
template <typename T, typename E>
1239
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1240
    expected_delete_ctor_base() = default;
1241
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1242
        default;
1243
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1244
    ~expected_delete_ctor_base() = default;
1245
1246
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1247
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1248
};
1249
1250
// Implementation for types that are move constructible, but not
1251
// copy constructible Copy constructor is =deleted, but move
1252
// constructor is =defaulted
1253
template <typename T, typename E>
1254
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1255
    expected_delete_ctor_base() = default;
1256
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1257
        default;
1258
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1259
    ~expected_delete_ctor_base() = default;
1260
1261
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1262
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1263
};
1264
1265
template <typename T, typename E>
1266
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1267
    static_assert(dependent_false<T>::value,
1268
                  "Nonsensical type: copy constructible, but not move "
1269
                  "constructible");
1270
};
1271
1272
// Same as above, but for assignment
1273
template <
1274
    typename T,
1275
    typename E,
1276
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1277
                       std::is_copy_constructible_v<E> &&
1278
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1279
                       std::is_copy_assignable_v<E>),
1280
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1281
                       std::is_move_constructible_v<E> &&
1282
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1283
                       std::is_move_assignable_v<E>)>
1284
struct expected_delete_assign_base;
1285
1286
template <typename T, typename E>
1287
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1288
    expected_delete_assign_base() = default;
1289
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1290
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1291
    ~expected_delete_assign_base() = default;
1292
1293
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1294
        default;
1295
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1296
        default;
1297
};
1298
1299
template <typename T, typename E>
1300
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1301
    expected_delete_assign_base() = default;
1302
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1303
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1304
    ~expected_delete_assign_base() = default;
1305
1306
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1307
        delete;
1308
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1309
        delete;
1310
};
1311
1312
template <typename T, typename E>
1313
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1314
    expected_delete_assign_base() = default;
1315
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1316
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1317
    ~expected_delete_assign_base() = default;
1318
1319
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1320
        delete;
1321
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1322
        default;
1323
};
1324
1325
template <typename T, typename E>
1326
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1327
    static_assert(dependent_false<T>::value,
1328
                  "Nonsensical type: copy assignable, but not move "
1329
                  "assignable");
1330
};
1331
1332
struct non_default_ctor_tag_t {};
1333
1334
/*
1335
 * Same as above, but for the default constructor
1336
 *
1337
 * The constructor taking a non_default_ctor_tag_t is needed, to
1338
 * signal that we're not default constructing.
1339
 */
1340
template <typename T,
1341
          typename E,
1342
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1343
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1344
    constexpr expected_default_ctor_base() = default;
1345
    constexpr explicit expected_default_ctor_base(
1346
        non_default_ctor_tag_t) noexcept
1347
3.34M
    {
1348
3.34M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
84.6k
    {
1348
84.6k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
675k
    {
1348
675k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
100k
    {
1348
100k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
12.8k
    {
1348
12.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
99.7k
    {
1348
99.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
99.7k
    {
1348
99.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
25.7k
    {
1348
25.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
459k
    {
1348
459k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
478k
    {
1348
478k
    }
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
384k
    {
1348
384k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
166k
    {
1348
166k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
194k
    {
1348
194k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
97.5k
    {
1348
97.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
82.0k
    {
1348
82.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
94.6k
    {
1348
94.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
94.6k
    {
1348
94.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1349
};
1350
template <typename T, typename E>
1351
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1352
    constexpr expected_default_ctor_base() = delete;
1353
    constexpr explicit expected_default_ctor_base(
1354
        non_default_ctor_tag_t) noexcept
1355
    {
1356
    }
1357
};
1358
1359
template <typename T>
1360
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1361
1362
template <typename T>
1363
struct is_expected_impl : std::false_type {};
1364
template <typename T, typename E>
1365
struct is_expected_impl<expected<T, E>> : std::true_type {};
1366
template <typename T>
1367
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1368
1369
template <typename Exp>
1370
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1371
1372
template <typename Exp>
1373
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1374
1375
template <
1376
    typename F,
1377
    typename... Args,
1378
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1379
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1380
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1381
4.47k
{
1382
4.47k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
4.47k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1381
4.47k
{
1382
4.47k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
4.47k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1384
1385
// and_then
1386
1387
template <typename Exp,
1388
          typename F,
1389
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1390
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1391
                                                 *SCN_DECLVAL(Exp)))>
1392
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1393
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1394
    std::is_nothrow_constructible_v<Ret,
1395
                                    unexpect_t,
1396
                                    decltype(std::forward<Exp>(exp).error())>)
1397
{
1398
    static_assert(is_expected<Ret>::value, "F must return an expected");
1399
1400
    return SCN_LIKELY(exp.has_value())
1401
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1402
               : Ret(unexpect, std::forward<Exp>(exp).error());
1403
}
1404
template <typename Exp,
1405
          typename F,
1406
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1407
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1408
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1409
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1410
    std::is_nothrow_constructible_v<Ret,
1411
                                    unexpect_t,
1412
                                    decltype(std::forward<Exp>(exp).error())>)
1413
{
1414
    static_assert(is_expected<Ret>::value, "F must return an expected");
1415
1416
    return SCN_LIKELY(exp.has_value())
1417
               ? trivial_invoke(std::forward<F>(f))
1418
               : Ret(unexpect, std::forward<Exp>(exp).error());
1419
}
1420
1421
// or_else
1422
1423
template <typename Exp,
1424
          typename F,
1425
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1426
                                                 SCN_DECLVAL(Exp).error()))>
1427
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1428
    noexcept(trivial_invoke(std::forward<F>(f),
1429
                            std::forward<Exp>(exp).error())) &&
1430
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1431
{
1432
    static_assert(is_expected<Ret>::value, "F must return an expected");
1433
1434
    return SCN_LIKELY(exp.has_value())
1435
               ? Ret(std::forward<Exp>(exp))
1436
               : trivial_invoke(std::forward<F>(f),
1437
                                std::forward<Exp>(exp).error());
1438
}
1439
1440
// transform
1441
1442
template <typename Exp,
1443
          typename F,
1444
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1445
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1446
                                                 *SCN_DECLVAL(Exp)))>
1447
constexpr auto transform_impl(Exp&& exp, F&& f)
1448
{
1449
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1450
    if constexpr (std::is_void_v<Ret>) {
1451
        if (SCN_LIKELY(exp.has_value())) {
1452
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1453
            return result();
1454
        }
1455
        return result(unexpect, std::forward<Exp>(exp).error());
1456
    }
1457
    else {
1458
        return SCN_LIKELY(exp.has_value())
1459
                   ? result(trivial_invoke(std::forward<F>(f),
1460
                                           *std::forward<Exp>(exp)))
1461
                   : result(unexpect, std::forward<Exp>(exp).error());
1462
    }
1463
}
1464
template <typename Exp,
1465
          typename F,
1466
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1467
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1468
constexpr auto transform_impl(Exp&& exp, F&& f)
1469
{
1470
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1471
    if constexpr (std::is_void_v<Ret>) {
1472
        if (SCN_LIKELY(exp.has_value())) {
1473
            trivial_invoke(std::forward<F>(f));
1474
            return result();
1475
        }
1476
        return result(unexpect, std::forward<Exp>(exp).error());
1477
    }
1478
    else {
1479
        return SCN_LIKELY(exp.has_value())
1480
                   ? result(trivial_invoke(std::forward<F>(f)))
1481
                   : result(unexpect, std::forward<Exp>(exp).error());
1482
    }
1483
}
1484
1485
// transform_error
1486
1487
template <typename Exp,
1488
          typename F,
1489
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1490
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1491
                                                 SCN_DECLVAL(Exp).error()))>
1492
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1493
368k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
368k
    else {
1504
368k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
368k
        return SCN_LIKELY(exp.has_value())
1506
368k
                   ? result(*std::forward<Exp>(exp))
1507
368k
                   : result(unexpect,
1508
4.47k
                            trivial_invoke(std::forward<F>(f),
1509
4.47k
                                           std::forward<Exp>(exp).error()));
1510
368k
    }
1511
368k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
97.5k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
97.5k
    else {
1504
97.5k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
97.5k
        return SCN_LIKELY(exp.has_value())
1506
97.5k
                   ? result(*std::forward<Exp>(exp))
1507
97.5k
                   : result(unexpect,
1508
1.45k
                            trivial_invoke(std::forward<F>(f),
1509
1.45k
                                           std::forward<Exp>(exp).error()));
1510
97.5k
    }
1511
97.5k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
94.6k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
94.6k
    else {
1504
94.6k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
94.6k
        return SCN_LIKELY(exp.has_value())
1506
94.6k
                   ? result(*std::forward<Exp>(exp))
1507
94.6k
                   : result(unexpect,
1508
1.13k
                            trivial_invoke(std::forward<F>(f),
1509
1.13k
                                           std::forward<Exp>(exp).error()));
1510
94.6k
    }
1511
94.6k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1493
82.0k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
82.0k
    else {
1504
82.0k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
82.0k
        return SCN_LIKELY(exp.has_value())
1506
82.0k
                   ? result(*std::forward<Exp>(exp))
1507
82.0k
                   : result(unexpect,
1508
750
                            trivial_invoke(std::forward<F>(f),
1509
750
                                           std::forward<Exp>(exp).error()));
1510
82.0k
    }
1511
82.0k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1493
94.6k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
94.6k
    else {
1504
94.6k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
94.6k
        return SCN_LIKELY(exp.has_value())
1506
94.6k
                   ? result(*std::forward<Exp>(exp))
1507
94.6k
                   : result(unexpect,
1508
1.13k
                            trivial_invoke(std::forward<F>(f),
1509
1.13k
                                           std::forward<Exp>(exp).error()));
1510
94.6k
    }
1511
94.6k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1512
template <typename Exp,
1513
          typename F,
1514
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1515
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1516
                                                 SCN_DECLVAL(Exp).error()))>
1517
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1518
{
1519
    if constexpr (std::is_void_v<Ret>) {
1520
        using result = expected<expected_value_type<Exp>, monostate>;
1521
        if (SCN_LIKELY(exp.has_value())) {
1522
            return result();
1523
        }
1524
1525
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1526
        return result(unexpect, monostate{});
1527
    }
1528
    else {
1529
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1530
        return SCN_LIKELY(exp.has_value())
1531
                   ? result()
1532
                   : result(unexpect,
1533
                            trivial_invoke(std::forward<F>(f),
1534
                                           std::forward<Exp>(exp).error()));
1535
    }
1536
}
1537
1538
template <class T, class E, class U, class G, class UR, class GR>
1539
using enable_from_other =
1540
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1541
                     std::is_constructible_v<E, GR> &&
1542
                     !std::is_constructible_v<T, expected<U, G>&> &&
1543
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1544
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1545
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1546
                     !std::is_convertible_v<expected<U, G>&, T> &&
1547
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1548
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1549
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1550
}  // namespace detail
1551
1552
/**
1553
 * \see `std::expected`
1554
 */
1555
template <typename T, typename E>
1556
class SCN_TRIVIAL_ABI expected
1557
    : private detail::expected_operations_base<T, E>,
1558
      private detail::expected_delete_ctor_base<T, E>,
1559
      private detail::expected_delete_assign_base<T, E>,
1560
      private detail::expected_default_ctor_base<T, E> {
1561
    using base = detail::expected_operations_base<T, E>;
1562
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1563
1564
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1565
                  "T must be void or Destructible");
1566
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1567
1568
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1569
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1570
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1571
1572
public:
1573
    using value_type = T;
1574
    using error_type = E;
1575
    using unexpected_type = unexpected<E>;
1576
1577
    template <typename U>
1578
    using rebind = expected<U, error_type>;
1579
1580
    // Special member functions are defaulted, implementations provided
1581
    // by base classes
1582
1583
2.39M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
28.2k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1583
2.00M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
28.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
28.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
33.2k
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1584
1585
    constexpr expected(const expected&) = default;
1586
    constexpr expected(expected&&) = default;
1587
    constexpr expected& operator=(const expected&) = default;
1588
231k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1588
12.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>&&)
Line
Count
Source
1588
25.7k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1589
1590
    ~expected() = default;
1591
1592
    /**
1593
     * Construct an expected value.
1594
     * Intentionally non-explicit, to make constructing an expected
1595
     * value as transparent as possible.
1596
     */
1597
    template <typename U = value_type,
1598
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1599
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1600
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1601
1.40M
        : base(std::in_place, std::forward<U>(val)),
1602
1.40M
          ctor_base(detail::non_default_ctor_tag_t{})
1603
1.40M
    {
1604
1.40M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1601
45.9k
        : base(std::in_place, std::forward<U>(val)),
1602
45.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
45.9k
    {
1604
45.9k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1601
61.4k
        : base(std::in_place, std::forward<U>(val)),
1602
61.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
61.4k
    {
1604
61.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1601
22.4k
        : base(std::in_place, std::forward<U>(val)),
1602
22.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
22.4k
    {
1604
22.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1601
22.4k
        : base(std::in_place, std::forward<U>(val)),
1602
22.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
22.4k
    {
1604
22.4k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1601
264k
        : base(std::in_place, std::forward<U>(val)),
1602
264k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
264k
    {
1604
264k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1601
160k
        : base(std::in_place, std::forward<U>(val)),
1602
160k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
160k
    {
1604
160k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1601
127k
        : base(std::in_place, std::forward<U>(val)),
1602
127k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
127k
    {
1604
127k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1601
115k
        : base(std::in_place, std::forward<U>(val)),
1602
115k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
115k
    {
1604
115k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1601
45.9k
        : base(std::in_place, std::forward<U>(val)),
1602
45.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
45.9k
    {
1604
45.9k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1601
22.4k
        : base(std::in_place, std::forward<U>(val)),
1602
22.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
22.4k
    {
1604
22.4k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1601
96.0k
        : base(std::in_place, std::forward<U>(val)),
1602
96.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
96.0k
    {
1604
96.0k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1601
81.3k
        : base(std::in_place, std::forward<U>(val)),
1602
81.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
81.3k
    {
1604
81.3k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1601
152k
        : base(std::in_place, std::forward<U>(val)),
1602
152k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
152k
    {
1604
152k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1601
93.4k
        : base(std::in_place, std::forward<U>(val)),
1602
93.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
93.4k
    {
1604
93.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1601
93.4k
        : base(std::in_place, std::forward<U>(val)),
1602
93.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
93.4k
    {
1604
93.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1605
1606
    /// Construct an expected value directly in-place
1607
    template <typename... Args,
1608
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1609
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1610
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1611
        : base(std::in_place, std::forward<Args>(args)...),
1612
          ctor_base(detail::non_default_ctor_tag_t{})
1613
    {
1614
    }
1615
1616
    template <typename G = E,
1617
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1618
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1619
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1620
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1621
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1622
    {
1623
    }
1624
    template <typename G = E,
1625
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1626
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1627
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1628
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1629
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1630
    {
1631
    }
1632
1633
    template <typename G = E,
1634
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1635
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1636
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1637
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1638
        : base(unexpect, std::move(e.error())),
1639
          ctor_base(detail::non_default_ctor_tag_t{})
1640
    {
1641
    }
1642
    template <typename G = E,
1643
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1644
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1645
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1646
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1647
1.93M
        : base(unexpect, std::move(e.error())),
1648
1.93M
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.93M
    {
1650
1.93M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1647
38.6k
        : base(unexpect, std::move(e.error())),
1648
38.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
38.6k
    {
1650
38.6k
    }
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1647
675k
        : base(unexpect, std::move(e.error())),
1648
675k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
675k
    {
1650
675k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1647
38.6k
        : base(unexpect, std::move(e.error())),
1648
38.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
38.6k
    {
1650
38.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
12.8k
        : base(unexpect, std::move(e.error())),
1648
12.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.8k
    {
1650
12.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1647
77.3k
        : base(unexpect, std::move(e.error())),
1648
77.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
77.3k
    {
1650
77.3k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1647
77.3k
        : base(unexpect, std::move(e.error())),
1648
77.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
77.3k
    {
1650
77.3k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEEC2ISI_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
25.7k
        : base(unexpect, std::move(e.error())),
1648
25.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
25.7k
    {
1650
25.7k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1647
231k
        : base(unexpect, std::move(e.error())),
1648
231k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
231k
    {
1650
231k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1647
38.6k
        : base(unexpect, std::move(e.error())),
1648
38.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
38.6k
    {
1650
38.6k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1647
77.3k
        : base(unexpect, std::move(e.error())),
1648
77.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
77.3k
    {
1650
77.3k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
146k
        : base(unexpect, std::move(e.error())),
1648
146k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
146k
    {
1650
146k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
293k
        : base(unexpect, std::move(e.error())),
1648
293k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
293k
    {
1650
293k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
1.45k
        : base(unexpect, std::move(e.error())),
1648
1.45k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.45k
    {
1650
1.45k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
750
        : base(unexpect, std::move(e.error())),
1648
750
          ctor_base(detail::non_default_ctor_tag_t{})
1649
750
    {
1650
750
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
1.13k
        : base(unexpect, std::move(e.error())),
1648
1.13k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.13k
    {
1650
1.13k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
1.13k
        : base(unexpect, std::move(e.error())),
1648
1.13k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.13k
    {
1650
1.13k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Unexecuted instantiation: _ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
1651
1652
    /// Construct an unexpected value directly in-place
1653
    template <typename... Args,
1654
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1655
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1656
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1657
4.47k
        : base(unexpect, std::forward<Args>(args)...),
1658
4.47k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
4.47k
    {
1660
4.47k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
1.45k
        : base(unexpect, std::forward<Args>(args)...),
1658
1.45k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
1.45k
    {
1660
1.45k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
1.13k
        : base(unexpect, std::forward<Args>(args)...),
1658
1.13k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
1.13k
    {
1660
1.13k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
750
        : base(unexpect, std::forward<Args>(args)...),
1658
750
          ctor_base(detail::non_default_ctor_tag_t{})
1659
750
    {
1660
750
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
1.13k
        : base(unexpect, std::forward<Args>(args)...),
1658
1.13k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
1.13k
    {
1660
1.13k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
1661
1662
    template <
1663
        typename U,
1664
        typename G,
1665
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1666
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1667
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1668
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1669
        std::is_nothrow_constructible_v<T, const U&> &&
1670
        std::is_nothrow_constructible_v<E, const G&>)
1671
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1672
    {
1673
        if (other.has_value()) {
1674
            this->construct(*other);
1675
        }
1676
        else {
1677
            this->construct_unexpected(other.error());
1678
        }
1679
    }
1680
    template <
1681
        typename U,
1682
        typename G,
1683
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1684
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1685
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1686
    constexpr expected(const expected<U, G>& other) noexcept(
1687
        std::is_nothrow_constructible_v<T, const U&> &&
1688
        std::is_nothrow_constructible_v<E, const G&>)
1689
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1690
    {
1691
        if (other.has_value()) {
1692
            this->construct(*other);
1693
        }
1694
        else {
1695
            this->construct_unexpected(other.error());
1696
        }
1697
    }
1698
1699
    template <typename U,
1700
              typename G,
1701
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1702
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1703
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1704
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1705
        std::is_nothrow_constructible_v<T, U&&> &&
1706
        std::is_nothrow_constructible_v<E, G&&>)
1707
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1708
    {
1709
        if (other.has_value()) {
1710
            this->construct(std::move(*other));
1711
        }
1712
        else {
1713
            this->construct_unexpected(std::move(other.error()));
1714
        }
1715
    }
1716
    template <typename U,
1717
              typename G,
1718
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1719
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1720
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1721
    constexpr expected(expected<U, G>&& other) noexcept(
1722
        std::is_nothrow_constructible_v<T, U&&> &&
1723
        std::is_nothrow_constructible_v<E, G&&>)
1724
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1725
    {
1726
        if (other.has_value()) {
1727
            this->construct(std::move(*other));
1728
        }
1729
        else {
1730
            this->construct_unexpected(std::move(other.error()));
1731
        }
1732
    }
1733
1734
    template <typename U = value_type,
1735
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1736
    expected& operator=(U&& val) noexcept(
1737
        noexcept(assign_value(std::forward<U>(val))))
1738
    {
1739
        assign_value(std::forward<U>(val));
1740
        return *this;
1741
    }
1742
1743
    expected& operator=(const unexpected_type& unex) noexcept(
1744
        noexcept(assign_unexpected(unex)))
1745
    {
1746
        assign_unexpected(unex);
1747
        return *this;
1748
    }
1749
    expected& operator=(unexpected_type&& unex) noexcept(
1750
        noexcept(assign_unexpected(std::move(unex))))
1751
    {
1752
        assign_unexpected(std::move(unex));
1753
        return *this;
1754
    }
1755
1756
    /// Destroys the contained value, and then initializes the expected
1757
    /// value directly in-place.
1758
    template <typename... Args,
1759
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1760
    decltype(auto) emplace(Args&&... args) noexcept(
1761
        std::is_nothrow_constructible_v<T, Args...>)
1762
    {
1763
        emplace_impl(std::forward<Args>(args)...);
1764
        if constexpr (!std::is_void_v<T>) {
1765
            return this->get_value();
1766
        }
1767
    }
1768
1769
    using base::has_value;
1770
    constexpr explicit operator bool() const noexcept
1771
6.56M
    {
1772
6.56M
        return has_value();
1773
6.56M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
84.6k
    {
1772
84.6k
        return has_value();
1773
84.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
584k
    {
1772
584k
        return has_value();
1773
584k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
3.91M
    {
1772
3.91M
        return has_value();
1773
3.91M
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
459k
    {
1772
459k
        return has_value();
1773
459k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
28.2k
    {
1772
28.2k
        return has_value();
1773
28.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
28.2k
    {
1772
28.2k
        return has_value();
1773
28.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
28.2k
    {
1772
28.2k
        return has_value();
1773
28.2k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
100k
    {
1772
100k
        return has_value();
1773
100k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.3k
    {
1772
33.3k
        return has_value();
1773
33.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.3k
    {
1772
33.3k
        return has_value();
1773
33.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.3k
    {
1772
33.3k
        return has_value();
1773
33.3k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
99.7k
    {
1772
99.7k
        return has_value();
1773
99.7k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
478k
    {
1772
478k
        return has_value();
1773
478k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
99.7k
    {
1772
99.7k
        return has_value();
1773
99.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
33.2k
    {
1772
33.2k
        return has_value();
1773
33.2k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
166k
    {
1772
166k
        return has_value();
1773
166k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
194k
    {
1772
194k
        return has_value();
1773
194k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1774
1775
    /// Get the unexpected value, if one is contained in *this
1776
    constexpr error_type& error() & noexcept
1777
1.71M
    {
1778
1.71M
        SCN_EXPECT(!has_value());
1779
1.71M
        return this->get_unexpected().error();
1780
1.71M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
38.6k
    {
1778
38.6k
        SCN_EXPECT(!has_value());
1779
38.6k
        return this->get_unexpected().error();
1780
38.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1777
231k
    {
1778
231k
        SCN_EXPECT(!has_value());
1779
231k
        return this->get_unexpected().error();
1780
231k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1777
691k
    {
1778
691k
        SCN_EXPECT(!has_value());
1779
691k
        return this->get_unexpected().error();
1780
691k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1777
148k
    {
1778
148k
        SCN_EXPECT(!has_value());
1779
148k
        return this->get_unexpected().error();
1780
148k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
38.6k
    {
1778
38.6k
        SCN_EXPECT(!has_value());
1779
38.6k
        return this->get_unexpected().error();
1780
38.6k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
77.3k
    {
1778
77.3k
        SCN_EXPECT(!has_value());
1779
77.3k
        return this->get_unexpected().error();
1780
77.3k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1777
294k
    {
1778
294k
        SCN_EXPECT(!has_value());
1779
294k
        return this->get_unexpected().error();
1780
294k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
77.3k
    {
1778
77.3k
        SCN_EXPECT(!has_value());
1779
77.3k
        return this->get_unexpected().error();
1780
77.3k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1777
39.4k
    {
1778
39.4k
        SCN_EXPECT(!has_value());
1779
39.4k
        return this->get_unexpected().error();
1780
39.4k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1777
78.4k
    {
1778
78.4k
        SCN_EXPECT(!has_value());
1779
78.4k
        return this->get_unexpected().error();
1780
78.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1781
    constexpr const error_type& error() const& noexcept
1782
0
    {
1783
0
        SCN_EXPECT(!has_value());
1784
0
        return this->get_unexpected().error();
1785
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1786
    constexpr error_type&& error() && noexcept
1787
4.47k
    {
1788
4.47k
        SCN_EXPECT(!has_value());
1789
4.47k
        return std::move(this->get_unexpected().error());
1790
4.47k
    }
Unexecuted instantiation: scn::v4::expected<void, scn::v4::scan_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
1.45k
    {
1788
1.45k
        SCN_EXPECT(!has_value());
1789
1.45k
        return std::move(this->get_unexpected().error());
1790
1.45k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
1.13k
    {
1788
1.13k
        SCN_EXPECT(!has_value());
1789
1.13k
        return std::move(this->get_unexpected().error());
1790
1.13k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
750
    {
1788
750
        SCN_EXPECT(!has_value());
1789
750
        return std::move(this->get_unexpected().error());
1790
750
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
1.13k
    {
1788
1.13k
        SCN_EXPECT(!has_value());
1789
1.13k
        return std::move(this->get_unexpected().error());
1790
1.13k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
1791
    constexpr const error_type&& error() const&& noexcept
1792
    {
1793
        SCN_EXPECT(!has_value());
1794
        return std::move(this->get_unexpected().error());
1795
    }
1796
1797
    /// Get the expected value, if one is contained in *this
1798
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1799
    constexpr U& value() & noexcept
1800
2.17M
    {
1801
2.17M
        SCN_EXPECT(has_value());
1802
2.17M
        return this->get_value();
1803
2.17M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
45.9k
    {
1801
45.9k
        SCN_EXPECT(has_value());
1802
45.9k
        return this->get_value();
1803
45.9k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1800
236k
    {
1801
236k
        SCN_EXPECT(has_value());
1802
236k
        return this->get_value();
1803
236k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
310k
    {
1801
310k
        SCN_EXPECT(has_value());
1802
310k
        return this->get_value();
1803
310k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
58.8k
    {
1801
58.8k
        SCN_EXPECT(has_value());
1802
58.8k
        return this->get_value();
1803
58.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
58.8k
    {
1801
58.8k
        SCN_EXPECT(has_value());
1802
58.8k
        return this->get_value();
1803
58.8k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
58.8k
    {
1801
58.8k
        SCN_EXPECT(has_value());
1802
58.8k
        return this->get_value();
1803
58.8k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1800
61.4k
    {
1801
61.4k
        SCN_EXPECT(has_value());
1802
61.4k
        return this->get_value();
1803
61.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
74.3k
    {
1801
74.3k
        SCN_EXPECT(has_value());
1802
74.3k
        return this->get_value();
1803
74.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
74.3k
    {
1801
74.3k
        SCN_EXPECT(has_value());
1802
74.3k
        return this->get_value();
1803
74.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
74.3k
    {
1801
74.3k
        SCN_EXPECT(has_value());
1802
74.3k
        return this->get_value();
1803
74.3k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
22.4k
    {
1801
22.4k
        SCN_EXPECT(has_value());
1802
22.4k
        return this->get_value();
1803
22.4k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
183k
    {
1801
183k
        SCN_EXPECT(has_value());
1802
183k
        return this->get_value();
1803
183k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1800
22.4k
    {
1801
22.4k
        SCN_EXPECT(has_value());
1802
22.4k
        return this->get_value();
1803
22.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEENS0_10scan_errorEE5valueISH_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
48.2k
    {
1801
48.2k
        SCN_EXPECT(has_value());
1802
48.2k
        return this->get_value();
1803
48.2k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
96.0k
    {
1801
96.0k
        SCN_EXPECT(has_value());
1802
96.0k
        return this->get_value();
1803
96.0k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
93.4k
    {
1801
93.4k
        SCN_EXPECT(has_value());
1802
93.4k
        return this->get_value();
1803
93.4k
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1800
127k
    {
1801
127k
        SCN_EXPECT(has_value());
1802
127k
        return this->get_value();
1803
127k
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1800
115k
    {
1801
115k
        SCN_EXPECT(has_value());
1802
115k
        return this->get_value();
1803
115k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
81.3k
    {
1801
81.3k
        SCN_EXPECT(has_value());
1802
81.3k
        return this->get_value();
1803
81.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
93.4k
    {
1801
93.4k
        SCN_EXPECT(has_value());
1802
93.4k
        return this->get_value();
1803
93.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
1804
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1805
    constexpr const U& value() const& noexcept
1806
0
    {
1807
0
        SCN_EXPECT(has_value());
1808
0
        return this->get_value();
1809
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1810
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1811
    constexpr U&& value() && noexcept
1812
    {
1813
        SCN_EXPECT(has_value());
1814
        return std::move(this->get_value());
1815
    }
1816
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1817
    constexpr const U&& value() const&& noexcept
1818
    {
1819
        SCN_EXPECT(has_value());
1820
        return std::move(this->get_value());
1821
    }
1822
1823
    /// Get the expected value, if one is contained in *this
1824
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1825
    constexpr U& operator*() & noexcept
1826
540k
    {
1827
540k
        return value();
1828
540k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1826
45.9k
    {
1827
45.9k
        return value();
1828
45.9k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1826
236k
    {
1827
236k
        return value();
1828
236k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1826
61.4k
    {
1827
61.4k
        return value();
1828
61.4k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1826
22.4k
    {
1827
22.4k
        return value();
1828
22.4k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1826
22.4k
    {
1827
22.4k
        return value();
1828
22.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1826
107k
    {
1827
107k
        return value();
1828
107k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1826
44.9k
    {
1827
44.9k
        return value();
1828
44.9k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1829
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1830
    constexpr const U& operator*() const& noexcept
1831
0
    {
1832
0
        return value();
1833
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1834
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1835
    constexpr U&& operator*() && noexcept
1836
949k
    {
1837
949k
        return std::move(value());
1838
949k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
203k
    {
1837
203k
        return std::move(value());
1838
203k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
138k
    {
1837
138k
        return std::move(value());
1838
138k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
96.0k
    {
1837
96.0k
        return std::move(value());
1838
96.0k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
93.4k
    {
1837
93.4k
        return std::move(value());
1838
93.4k
    }
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1836
127k
    {
1837
127k
        return std::move(value());
1838
127k
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1836
115k
    {
1837
115k
        return std::move(value());
1838
115k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1836
81.3k
    {
1837
81.3k
        return std::move(value());
1838
81.3k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1836
93.4k
    {
1837
93.4k
        return std::move(value());
1838
93.4k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
1839
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1840
    constexpr const U&& operator*() const&& noexcept
1841
    {
1842
        return std::move(value());
1843
    }
1844
1845
    constexpr value_type* operator->() noexcept
1846
688k
    {
1847
688k
        return &value();
1848
688k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
58.8k
    {
1847
58.8k
        return &value();
1848
58.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
58.8k
    {
1847
58.8k
        return &value();
1848
58.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
58.8k
    {
1847
58.8k
        return &value();
1848
58.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
74.3k
    {
1847
74.3k
        return &value();
1848
74.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
74.3k
    {
1847
74.3k
        return &value();
1848
74.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
74.3k
    {
1847
74.3k
        return &value();
1848
74.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
48.2k
    {
1847
48.2k
        return &value();
1848
48.2k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1849
    constexpr const value_type* operator->() const noexcept
1850
    {
1851
        return &value();
1852
    }
1853
1854
    /// Returns the expected value if *this contains one, otherwise
1855
    /// returns default_value
1856
    template <typename U,
1857
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1858
                                          std::is_convertible_v<U, T>>>
1859
    constexpr T value_or(U&& default_value) const& noexcept(
1860
        std::is_nothrow_copy_constructible_v<T> &&
1861
        std::is_nothrow_constructible_v<T, U&&>)
1862
    {
1863
        if (has_value()) {
1864
            return value();
1865
        }
1866
        return std::forward<U>(default_value);
1867
    }
1868
    template <typename U,
1869
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1870
                                          std::is_convertible_v<U, T>>>
1871
    constexpr T value_or(U&& default_value) && noexcept(
1872
        std::is_nothrow_move_constructible_v<T> &&
1873
        std::is_nothrow_constructible_v<T, U&&>)
1874
    {
1875
        if (has_value()) {
1876
            return std::move(value());
1877
        }
1878
        return std::forward<U>(default_value);
1879
    }
1880
1881
    template <typename G,
1882
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1883
                                          std::is_convertible_v<G, E>>>
1884
    constexpr E error_or(G&& default_error) const& noexcept(
1885
        std::is_nothrow_copy_constructible_v<E> &&
1886
        std::is_nothrow_constructible_v<E, G&&>)
1887
    {
1888
        if (!has_value()) {
1889
            return error();
1890
        }
1891
        return std::forward<G>(default_error);
1892
    }
1893
    template <typename G,
1894
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1895
                                          std::is_convertible_v<G, E>>>
1896
    constexpr E error_or(G&& default_error) && noexcept(
1897
        std::is_nothrow_move_constructible_v<E> &&
1898
        std::is_nothrow_constructible_v<E, G&&>)
1899
    {
1900
        if (!has_value()) {
1901
            return std::move(error());
1902
        }
1903
        return std::forward<G>(default_error);
1904
    }
1905
1906
    template <typename F>
1907
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1908
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1909
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1910
    {
1911
        return detail::and_then_impl(*this, std::forward<F>(f));
1912
    }
1913
    template <typename F>
1914
    constexpr auto and_then(F&& f) const& noexcept(
1915
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1916
                                       std::forward<F>(f))))
1917
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1918
    {
1919
        return detail::and_then_impl(*this, std::forward<F>(f));
1920
    }
1921
    template <typename F>
1922
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1923
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1924
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1925
    {
1926
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1927
    }
1928
    template <typename F>
1929
    constexpr auto and_then(F&& f) const&& noexcept(
1930
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1931
                                       std::forward<F>(f))))
1932
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1933
    {
1934
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1935
    }
1936
1937
    template <typename F>
1938
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1939
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1940
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1941
    {
1942
        return detail::or_else_impl(*this, std::forward<F>(f));
1943
    }
1944
    template <typename F>
1945
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1946
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1947
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1948
    {
1949
        return detail::or_else_impl(*this, std::forward<F>(f));
1950
    }
1951
    template <typename F>
1952
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1953
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1954
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1955
    {
1956
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1957
    }
1958
    template <typename F>
1959
    constexpr auto or_else(F&& f) const&& noexcept(
1960
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1961
                                      std::forward<F>(f))))
1962
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1963
    {
1964
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1965
    }
1966
1967
    template <typename F>
1968
    constexpr auto transform(
1969
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1970
    {
1971
        return detail::transform_impl(*this, std::forward<F>(f));
1972
    }
1973
    template <typename F>
1974
    constexpr auto transform(F&& f)
1975
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1976
    {
1977
        return detail::transform_impl(*this, std::forward<F>(f));
1978
    }
1979
    template <typename F>
1980
    constexpr auto transform(
1981
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1982
    {
1983
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1984
    }
1985
    template <typename F>
1986
    constexpr auto transform(F&& f)
1987
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1988
    {
1989
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1990
    }
1991
1992
    template <typename F>
1993
    constexpr auto transform_error(
1994
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1995
                                                          std::forward<F>(f)))
1996
0
    {
1997
0
        return detail::transform_error_impl(*this, std::forward<F>(f));
1998
0
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
1999
    template <typename F>
2000
    constexpr auto transform_error(F&& f)
2001
        const& -> decltype(detail::transform_error_impl(*this,
2002
                                                        std::forward<F>(f)))
2003
    {
2004
        return detail::transform_error_impl(*this, std::forward<F>(f));
2005
    }
2006
    template <typename F>
2007
    constexpr auto transform_error(
2008
        F&& f) && -> decltype(detail::transform_error_impl(*this,
2009
                                                           std::forward<F>(f)))
2010
368k
    {
2011
368k
        return detail::transform_error_impl(std::move(*this),
2012
368k
                                            std::forward<F>(f));
2013
368k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
97.5k
    {
2011
97.5k
        return detail::transform_error_impl(std::move(*this),
2012
97.5k
                                            std::forward<F>(f));
2013
97.5k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
94.6k
    {
2011
94.6k
        return detail::transform_error_impl(std::move(*this),
2012
94.6k
                                            std::forward<F>(f));
2013
94.6k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
2010
82.0k
    {
2011
82.0k
        return detail::transform_error_impl(std::move(*this),
2012
82.0k
                                            std::forward<F>(f));
2013
82.0k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
2010
94.6k
    {
2011
94.6k
        return detail::transform_error_impl(std::move(*this),
2012
94.6k
                                            std::forward<F>(f));
2013
94.6k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
2014
    template <typename F>
2015
    constexpr auto transform_error(F&& f)
2016
        const&& -> decltype(detail::transform_error_impl(*this,
2017
                                                         std::forward<F>(f)))
2018
    {
2019
        return detail::transform_error_impl(std::move(*this),
2020
                                            std::forward<F>(f));
2021
    }
2022
2023
private:
2024
    template <typename... Args>
2025
    void emplace_impl(Args&&... args) noexcept(
2026
        std::is_nothrow_constructible_v<T, Args&&...>)
2027
    {
2028
        if (this->has_value()) {
2029
            this->destroy_value();
2030
            this->construct(std::forward<Args>(args)...);
2031
        }
2032
        else {
2033
#if SCN_HAS_EXCEPTIONS
2034
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2035
                auto tmp = std::move(error());
2036
                this->destroy_unexpected();
2037
2038
                try {
2039
                    this->construct(std::forward<Args>(args)...);
2040
                }
2041
                catch (...) {
2042
                    this->construct_unexpected(std::move(tmp));
2043
                    throw;
2044
                }
2045
            }
2046
            else {
2047
                this->construct(std::forward<Args>(args)...);
2048
            }
2049
#else
2050
            this->destroy_unexpected();
2051
            this->construct(std::forward<Args>(args)...);
2052
#endif
2053
        }
2054
    }
2055
2056
    template <typename Value>
2057
    void assign_value(Value&& val) noexcept(
2058
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2059
                                        Value&&> &&
2060
        std::is_nothrow_assignable_v<T, Value&&>)
2061
    {
2062
        if (has_value()) {
2063
            this->get_value() = std::forward<Value>(val);
2064
            return;
2065
        }
2066
2067
#if SCN_HAS_EXCEPTIONS
2068
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2069
            this->destroy_unexpected();
2070
            this->construct(std::forward<Value>(val));
2071
        }
2072
        else {
2073
            auto tmp = std::move(this->get_unexpected());
2074
            this->destroy_unexpected();
2075
2076
            try {
2077
                this->construct(std::forward<Value>(val));
2078
            }
2079
            catch (...) {
2080
                this->construct_unexpected(std::move(tmp));
2081
            }
2082
        }
2083
#else
2084
        this->destroy_unexpected();
2085
        this->construct(std::forward<Value>(val));
2086
#endif
2087
    }
2088
2089
    template <typename Unexpected>
2090
    void assign_unexpected(Unexpected&& unex) noexcept(
2091
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2092
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2093
    {
2094
        if (!has_value()) {
2095
            this->get_unexpected() = std::forward<Unexpected>(unex);
2096
            return;
2097
        }
2098
2099
        this->destroy_value();
2100
        this->construct_unexpected(std::forward<Unexpected>(unex));
2101
    }
2102
};
2103
2104
/////////////////////////////////////////////////////////////////
2105
// <ranges> implementation
2106
/////////////////////////////////////////////////////////////////
2107
2108
/**
2109
 * Contains a very minimal `<ranges>` implementation.
2110
 *
2111
 * This is a heavily stripped-down and adapted version of NanoRange:
2112
 * https://github.com/tcbrindle/NanoRange.
2113
 *
2114
 * NanoRange is provided under the Boost license.
2115
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2116
 */
2117
namespace ranges {
2118
2119
namespace detail {
2120
using namespace scn::detail;
2121
2122
template <typename T>
2123
constexpr auto decay_copy(T&& t) noexcept(
2124
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2125
7.33M
{
2126
7.33M
    return SCN_FWD(t);
2127
7.33M
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2125
999k
{
2126
999k
    return SCN_FWD(t);
2127
999k
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2125
714k
{
2126
714k
    return SCN_FWD(t);
2127
714k
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
2125
2.78M
{
2126
2.78M
    return SCN_FWD(t);
2127
2.78M
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2125
1.01M
{
2126
1.01M
    return SCN_FWD(t);
2127
1.01M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
2125
1.43M
{
2126
1.43M
    return SCN_FWD(t);
2127
1.43M
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
2125
96.0k
{
2126
96.0k
    return SCN_FWD(t);
2127
96.0k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
2125
93.4k
{
2126
93.4k
    return SCN_FWD(t);
2127
93.4k
}
_ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Line
Count
Source
2125
193k
{
2126
193k
    return SCN_FWD(t);
2127
193k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2128
2129
template <bool>
2130
struct conditional {
2131
    template <typename T, typename>
2132
    using type = T;
2133
};
2134
2135
template <>
2136
struct conditional<false> {
2137
    template <typename, typename U>
2138
    using type = U;
2139
};
2140
2141
template <bool B, typename T, typename U>
2142
using conditional_t = typename conditional<B>::template type<T, U>;
2143
2144
template <template <class...> class AliasT, typename... Args>
2145
auto exists_helper(long) -> std::false_type;
2146
2147
template <template <class...> class AliasT,
2148
          typename... Args,
2149
          typename = AliasT<Args...>>
2150
auto exists_helper(int) -> std::true_type;
2151
2152
template <template <class...> class AliasT, typename... Args>
2153
inline constexpr bool exists_v =
2154
    decltype(exists_helper<AliasT, Args...>(0))::value;
2155
2156
template <typename, typename...>
2157
auto test_requires_fn(long) -> std::false_type;
2158
2159
template <typename R,
2160
          typename... Args,
2161
          typename = decltype(&R::template requires_<Args...>)>
2162
auto test_requires_fn(int) -> std::true_type;
2163
2164
template <typename R, typename... Args>
2165
inline constexpr bool requires_ =
2166
    decltype(test_requires_fn<R, Args...>(0))::value;
2167
2168
template <bool Expr>
2169
using requires_expr = std::enable_if_t<Expr, int>;
2170
}  // namespace detail
2171
2172
template <typename>
2173
inline constexpr bool enable_borrowed_range = false;
2174
2175
namespace detail {
2176
template <typename T>
2177
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2178
2179
struct boolean_testable_concept {
2180
    template <typename T>
2181
    auto requires_(T&& t)
2182
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2183
};
2184
2185
template <typename T>
2186
inline constexpr bool boolean_testable =
2187
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2188
}  // namespace detail
2189
2190
namespace detail {
2191
struct weakly_equality_comparable_with_concept {
2192
    template <typename T, typename U>
2193
    auto requires_(const std::remove_reference_t<T>& t,
2194
                   const std::remove_reference_t<U>& u)
2195
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2196
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2197
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2198
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2199
};
2200
2201
template <typename T, typename U>
2202
inline constexpr bool weakly_equality_comparable_with =
2203
    requires_<weakly_equality_comparable_with_concept, T, U>;
2204
}  // namespace detail
2205
2206
template <typename T>
2207
inline constexpr bool equality_comparable =
2208
    detail::weakly_equality_comparable_with<T, T>;
2209
2210
namespace detail {
2211
struct equality_comparable_with_concept {
2212
    template <typename, typename>
2213
    static auto test(long) -> std::false_type;
2214
2215
    template <typename T, typename U>
2216
    static auto test(int)
2217
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2218
#if 0
2219
            common_reference_with<const std::remove_reference_t<T>&,
2220
                                  const std::remove_reference_t<U>&> &&
2221
            equality_comparable<
2222
                common_reference_t<const std::remove_reference_t<T>&,
2223
                                   const std::remove_reference_t<U>&>> &&
2224
#endif
2225
                                weakly_equality_comparable_with<T, U>,
2226
                            std::true_type>;
2227
};
2228
}  // namespace detail
2229
2230
template <typename T, typename U>
2231
inline constexpr bool equality_comparable_with =
2232
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2233
2234
namespace detail {
2235
struct partially_ordered_with_concept {
2236
    template <typename T, typename U>
2237
    auto requires_(const std::remove_reference_t<T>& t,
2238
                   const std::remove_reference_t<U>& u)
2239
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2240
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2241
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2242
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2243
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2244
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2245
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2246
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2247
};
2248
2249
template <typename T, typename U>
2250
inline constexpr bool partially_ordered_with =
2251
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2252
}  // namespace detail
2253
2254
template <typename T>
2255
inline constexpr bool totally_ordered =
2256
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2257
2258
namespace detail {
2259
struct totally_ordered_with_concept {
2260
    template <typename, typename>
2261
    static auto test(long) -> std::false_type;
2262
2263
    template <typename T, typename U>
2264
    static auto test(int)
2265
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2266
                                equality_comparable_with<T, U> &&
2267
#if 0
2268
                                totally_ordered<common_reference_t<
2269
                                    const std::remove_reference_t<T>&,
2270
                                    const std::remove_reference_t<U>&>> &&
2271
#endif
2272
                                partially_ordered_with<T, U>,
2273
                            std::true_type>;
2274
};
2275
}  // namespace detail
2276
2277
template <typename T, typename U>
2278
inline constexpr bool totally_ordered_with =
2279
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2280
2281
namespace detail {
2282
struct movable_concept {
2283
    template <typename T>
2284
    static auto test(long) -> std::false_type;
2285
2286
    template <typename T>
2287
    static auto test(int) -> std::enable_if_t<
2288
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2289
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2290
        std::true_type>;
2291
};
2292
}  // namespace detail
2293
2294
template <typename T>
2295
inline constexpr bool movable =
2296
    decltype(detail::movable_concept::test<T>(0))::value;
2297
2298
namespace detail {
2299
struct copyable_concept {
2300
    template <typename>
2301
    static auto test(long) -> std::false_type;
2302
2303
    template <typename T>
2304
    static auto test(int)
2305
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2306
                                std::is_copy_assignable_v<T>,
2307
                            std::true_type>;
2308
};
2309
}  // namespace detail
2310
2311
template <typename T>
2312
inline constexpr bool copyable =
2313
    decltype(detail::copyable_concept::test<T>(0))::value;
2314
2315
template <typename T>
2316
inline constexpr bool semiregular =
2317
    copyable<T> && std::is_default_constructible_v<T>;
2318
2319
template <typename T>
2320
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2321
2322
template <typename>
2323
struct incrementable_traits;
2324
2325
namespace detail {
2326
struct empty {};
2327
2328
template <typename T>
2329
struct with_difference_type {
2330
    using difference_type = T;
2331
};
2332
2333
template <typename, typename = void>
2334
struct incrementable_traits_helper {};
2335
2336
// Workaround for GCC silliness: void* has no difference_type
2337
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2338
// error Can we formulate the concept differently to avoid the need for this
2339
// hack?
2340
template <>
2341
struct incrementable_traits_helper<void*> {};
2342
2343
template <typename T>
2344
struct incrementable_traits_helper<T*>
2345
    : detail::conditional_t<std::is_object_v<T>,
2346
                            with_difference_type<std::ptrdiff_t>,
2347
                            empty> {};
2348
2349
template <class I>
2350
struct incrementable_traits_helper<const I>
2351
    : incrementable_traits<std::decay_t<I>> {};
2352
2353
template <typename, typename = void>
2354
struct has_member_difference_type : std::false_type {};
2355
2356
template <typename T>
2357
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2358
    : std::true_type {};
2359
2360
template <typename T>
2361
constexpr bool has_member_difference_type_v =
2362
    has_member_difference_type<T>::value;
2363
2364
template <typename T>
2365
struct incrementable_traits_helper<
2366
    T,
2367
    std::enable_if_t<has_member_difference_type_v<T>>> {
2368
    using difference_type = typename T::difference_type;
2369
};
2370
2371
template <typename T, typename = void>
2372
struct subtraction_result_type {
2373
    using type = void;
2374
};
2375
template <typename T>
2376
struct subtraction_result_type<
2377
    T,
2378
    std::void_t<decltype(std::declval<const T&>() -
2379
                         std::declval<const T&>())>> {
2380
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2381
};
2382
2383
template <typename T>
2384
inline constexpr bool enable_incrtraits_subtractable =
2385
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2386
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2387
2388
template <typename T>
2389
struct incrementable_traits_helper<
2390
    T,
2391
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2392
    : with_difference_type<
2393
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2394
}  // namespace detail
2395
2396
template <typename T>
2397
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2398
2399
template <typename T>
2400
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2401
2402
template <typename>
2403
struct readable_traits;
2404
2405
namespace detail {
2406
template <typename T>
2407
struct with_value_type {
2408
    using value_type = T;
2409
};
2410
2411
template <typename, typename = void>
2412
struct readable_traits_helper {};
2413
2414
template <typename T>
2415
struct readable_traits_helper<T*>
2416
    : detail::conditional_t<std::is_object_v<T>,
2417
                            with_value_type<std::remove_cv_t<T>>,
2418
                            empty> {};
2419
2420
template <typename I>
2421
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2422
    : readable_traits<std::decay_t<I>> {};
2423
2424
template <typename I>
2425
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2426
    : readable_traits<std::decay_t<I>> {};
2427
2428
template <typename T, typename V = typename T::value_type>
2429
struct member_value_type
2430
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2431
2432
template <typename T, typename E = typename T::element_type>
2433
struct member_element_type
2434
    : detail::conditional_t<std::is_object_v<E>,
2435
                            with_value_type<std::remove_cv_t<E>>,
2436
                            empty> {};
2437
2438
template <typename T>
2439
using member_value_type_t = typename T::value_type;
2440
2441
template <typename T>
2442
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2443
2444
template <typename T>
2445
using member_element_type_t = typename T::element_type;
2446
2447
template <typename T>
2448
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2449
2450
template <typename T>
2451
struct readable_traits_helper<T,
2452
                              std::enable_if_t<has_member_value_type_v<T> &&
2453
                                               !has_member_element_type_v<T>>>
2454
    : member_value_type<T> {};
2455
2456
template <typename T>
2457
struct readable_traits_helper<T,
2458
                              std::enable_if_t<has_member_element_type_v<T> &&
2459
                                               !has_member_value_type_v<T>>>
2460
    : member_element_type<T> {};
2461
2462
// A type which has both value_type and element_type members must specialise
2463
// readable_traits to tell us which one to prefer -- see
2464
// https://github.com/ericniebler/stl2/issues/562
2465
template <typename T>
2466
struct readable_traits_helper<T,
2467
                              std::enable_if_t<has_member_element_type_v<T> &&
2468
                                               has_member_value_type_v<T>>> {};
2469
}  // namespace detail
2470
2471
template <typename T>
2472
struct readable_traits : detail::readable_traits_helper<T> {};
2473
2474
template <typename T>
2475
using iter_value_t = typename readable_traits<T>::value_type;
2476
2477
namespace detail {
2478
template <typename T>
2479
using with_reference = T&;
2480
2481
struct can_reference_concept {
2482
    template <typename T>
2483
    auto requires_() -> with_reference<T>;
2484
};
2485
2486
template <typename T>
2487
inline constexpr bool can_reference =
2488
    detail::requires_<can_reference_concept, T>;
2489
2490
struct dereferencable_concept {
2491
    template <typename T>
2492
    auto requires_(T& t)
2493
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2494
};
2495
2496
template <typename T>
2497
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2498
2499
// GCC and Clang allow dereferencing void* as an extension.
2500
// Let's kill that off now.
2501
2502
template <>
2503
inline constexpr bool dereferenceable<void*> = false;
2504
}  // namespace detail
2505
2506
using std::bidirectional_iterator_tag;
2507
using std::forward_iterator_tag;
2508
using std::input_iterator_tag;
2509
using std::output_iterator_tag;
2510
using std::random_access_iterator_tag;
2511
2512
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2513
    __cpp_lib_ranges >= 201911L
2514
using std::contiguous_iterator_tag;
2515
#else
2516
struct contiguous_iterator_tag : random_access_iterator_tag {};
2517
#endif
2518
2519
template <typename T>
2520
struct iterator_category;
2521
2522
namespace detail {
2523
template <typename T, typename = void>
2524
struct iterator_category_ {};
2525
template <typename T>
2526
struct iterator_category_<T*>
2527
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2528
template <typename T>
2529
struct iterator_category_<const T> : iterator_category<T> {};
2530
template <typename T>
2531
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2532
    using type = typename T::iterator_category;
2533
};
2534
}  // namespace detail
2535
2536
template <typename T>
2537
struct iterator_category : detail::iterator_category_<T> {};
2538
template <typename T>
2539
using iterator_category_t = typename iterator_category<T>::type;
2540
2541
namespace detail {
2542
2543
template <typename T, typename = void>
2544
struct legacy_iterator_category : iterator_category<T> {};
2545
2546
template <typename T>
2547
struct legacy_iterator_category<
2548
    T,
2549
    std::enable_if_t<
2550
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2551
    using type = random_access_iterator_tag;
2552
};
2553
2554
template <typename T>
2555
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2556
2557
}  // namespace detail
2558
2559
template <typename T>
2560
using iter_reference_t =
2561
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2562
2563
namespace detail {
2564
2565
struct readable_concept {
2566
    template <typename In>
2567
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2568
                                 std::declval<iter_reference_t<In>>());
2569
    // std::declval<iter_rvalue_reference_t<In>>());
2570
2571
    template <typename>
2572
    static auto test(long) -> std::false_type;
2573
2574
    template <typename In>
2575
    static auto test(int)
2576
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2577
#if 0
2578
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2579
            common_reference_with<iter_reference_t<In>&&,
2580
                                  iter_rvalue_reference_t<In>&&> &&
2581
            common_reference_with<iter_rvalue_reference_t<In>&&,
2582
                                  const iter_value_t<In>&>,
2583
#endif
2584
                            std::true_type>;
2585
};
2586
2587
}  // namespace detail
2588
2589
template <typename In>
2590
inline constexpr bool readable =
2591
    decltype(detail::readable_concept::test<In>(0))::value;
2592
2593
namespace detail {
2594
2595
struct writable_concept {
2596
    template <typename Out, typename T>
2597
    auto requires_(Out&& o, T&& t)
2598
        -> decltype(*o = std::forward<T>(t),
2599
                    *std::forward<Out>(o) = std::forward<T>(t),
2600
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2601
                        std::forward<T>(t),
2602
                    const_cast<const iter_reference_t<Out>&&>(
2603
                        *std::forward<Out>(o)) = std::forward<T>(t));
2604
};
2605
2606
}  // namespace detail
2607
2608
template <typename Out, typename T>
2609
inline constexpr bool writable =
2610
    detail::requires_<detail::writable_concept, Out, T>;
2611
2612
namespace detail {
2613
2614
template <typename T>
2615
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2616
2617
template <typename T>
2618
inline constexpr bool is_signed_integer_like =
2619
    std::is_integral_v<T> && std::is_signed_v<T>;
2620
2621
struct weakly_incrementable_concept {
2622
    template <typename I>
2623
    auto requires_(I i)
2624
        -> decltype(std::declval<iter_difference_t<I>>(),
2625
                    requires_expr<
2626
                        is_signed_integer_like<iter_difference_t<I>>>{},
2627
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2628
                    i++);
2629
};
2630
2631
}  // namespace detail
2632
2633
template <typename I>
2634
inline constexpr bool weakly_incrementable =
2635
    std::is_default_constructible_v<I> && movable<I> &&
2636
    detail::requires_<detail::weakly_incrementable_concept, I>;
2637
2638
namespace detail {
2639
2640
struct incrementable_concept {
2641
    template <typename I>
2642
    auto requires_(I i)
2643
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2644
};
2645
2646
}  // namespace detail
2647
2648
template <typename I>
2649
inline constexpr bool incrementable =
2650
    regular<I> && weakly_incrementable<I> &&
2651
    detail::requires_<detail::incrementable_concept, I>;
2652
2653
namespace detail {
2654
2655
struct input_or_output_iterator_concept {
2656
    template <typename I>
2657
    auto requires_(I i)
2658
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2659
};
2660
2661
}  // namespace detail
2662
2663
template <typename I>
2664
inline constexpr bool input_or_output_iterator =
2665
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2666
    weakly_incrementable<I>;
2667
2668
template <typename S, typename I>
2669
inline constexpr bool sentinel_for =
2670
    semiregular<S> && input_or_output_iterator<I> &&
2671
    detail::weakly_equality_comparable_with<S, I>;
2672
2673
template <typename S, typename I>
2674
inline constexpr bool disable_sized_sentinel = false;
2675
2676
namespace detail {
2677
2678
struct sized_sentinel_for_concept {
2679
    template <typename S, typename I>
2680
    auto requires_(const S& s, const I& i)
2681
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2682
                                                 iter_difference_t<I>>>{},
2683
                    requires_expr<std::is_same_v<decltype(i - s),
2684
                                                 iter_difference_t<I>>>{});
2685
};
2686
2687
}  // namespace detail
2688
2689
template <typename S, typename I>
2690
inline constexpr bool sized_sentinel_for =
2691
    sentinel_for<S, I> &&
2692
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2693
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2694
2695
// This is a hack, but I'm fed up with my tests breaking because GCC
2696
// has a silly extension
2697
template <typename S>
2698
inline constexpr bool sized_sentinel_for<S, void*> = false;
2699
2700
template <typename I>
2701
inline constexpr bool sized_sentinel_for<void*, I> = false;
2702
2703
template <>
2704
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2705
2706
namespace detail {
2707
2708
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2709
struct input_iterator_concept {
2710
    template <typename I>
2711
    auto requires_() -> iterator_category_t<I>;
2712
2713
    template <typename>
2714
    static auto test(long) -> std::false_type;
2715
2716
    template <typename I>
2717
    static auto test(int) -> std::enable_if_t<
2718
        input_or_output_iterator<I> && readable<I> &&
2719
            detail::requires_<input_iterator_concept, I> &&
2720
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2721
        std::true_type>;
2722
};
2723
2724
}  // namespace detail
2725
2726
template <typename I>
2727
inline constexpr bool input_iterator =
2728
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2729
2730
namespace detail {
2731
2732
struct output_iterator_concept {
2733
    template <typename I, typename T>
2734
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2735
};
2736
2737
}  // namespace detail
2738
2739
template <typename I, typename T>
2740
inline constexpr bool output_iterator =
2741
    input_or_output_iterator<I> && writable<I, T> &&
2742
    detail::requires_<detail::output_iterator_concept, I, T>;
2743
2744
namespace detail {
2745
2746
struct forward_iterator_concept {
2747
    template <typename>
2748
    static auto test(long) -> std::false_type;
2749
2750
    template <typename I>
2751
    static auto test(int) -> std::enable_if_t<
2752
        input_iterator<I> &&
2753
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2754
            incrementable<I> && sentinel_for<I, I>,
2755
        std::true_type>;
2756
};
2757
2758
}  // namespace detail
2759
2760
template <typename I>
2761
inline constexpr bool forward_iterator =
2762
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2763
2764
namespace detail {
2765
2766
struct bidirectional_iterator_concept {
2767
    template <typename I>
2768
    auto requires_(I i)
2769
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2770
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2771
2772
    template <typename>
2773
    static auto test(long) -> std::false_type;
2774
2775
    template <typename I>
2776
    static auto test(int) -> std::enable_if_t<
2777
        forward_iterator<I> &&
2778
            std::is_base_of_v<bidirectional_iterator_tag,
2779
                              iterator_category_t<I>> &&
2780
            detail::requires_<bidirectional_iterator_concept, I>,
2781
        std::true_type>;
2782
};
2783
2784
}  // namespace detail
2785
2786
template <typename I>
2787
inline constexpr bool bidirectional_iterator =
2788
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2789
2790
namespace detail {
2791
2792
struct random_access_iterator_concept {
2793
    template <typename>
2794
    static auto test(long) -> std::false_type;
2795
2796
    template <typename I>
2797
    static auto test(int) -> std::enable_if_t<
2798
        bidirectional_iterator<I> &&
2799
            std::is_base_of_v<random_access_iterator_tag,
2800
                              iterator_category_t<I>> &&
2801
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2802
            detail::requires_<random_access_iterator_concept, I>,
2803
        std::true_type>;
2804
2805
    template <typename I>
2806
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2807
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2808
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2809
#ifndef _MSC_VER
2810
                    requires_expr<std::is_same_v<decltype(n + j),
2811
                                                 I>>{},  // FIXME: MSVC doesn't
2812
                                                         // like this when I =
2813
                                                         // int*
2814
#endif
2815
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2816
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2817
                    requires_expr<
2818
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2819
};
2820
2821
}  // namespace detail
2822
2823
template <typename I>
2824
inline constexpr bool random_access_iterator =
2825
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2826
2827
namespace detail {
2828
2829
struct contiguous_iterator_concept {
2830
    template <typename>
2831
    static auto test(long) -> std::false_type;
2832
2833
    template <typename I>
2834
    static auto test(int) -> std::enable_if_t<
2835
        random_access_iterator<I> &&
2836
            /*std::is_base_of_v<contiguous_iterator_tag,
2837
                              iterator_category_t<I>> &&*/
2838
            detail::can_make_address_from_iterator<I> &&
2839
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2840
            std::is_same_v<iter_value_t<I>,
2841
                           remove_cvref_t<iter_reference_t<I>>>,
2842
        std::true_type>;
2843
};
2844
2845
}  // namespace detail
2846
2847
template <typename I>
2848
inline constexpr bool contiguous_iterator =
2849
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2850
2851
namespace detail::begin_ {
2852
2853
template <typename T>
2854
void begin(T&) = delete;
2855
template <typename T>
2856
void begin(const T&) = delete;
2857
2858
struct fn {
2859
private:
2860
    template <typename T,
2861
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2862
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2863
                  nullptr>
2864
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2865
2866
    template <typename T,
2867
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2868
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2869
        -> decltype(t + 0)
2870
    {
2871
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2872
        return t + 0;
2873
    }
2874
2875
    template <typename T>
2876
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2877
        noexcept(decay_copy(SCN_FWD(t).begin())))
2878
        -> std::enable_if_t<
2879
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2880
            decltype(decay_copy(SCN_FWD(t).begin()))>
2881
2.08M
    {
2882
2.08M
        return decay_copy(t.begin());
2883
2.08M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
39.5k
    {
2882
39.5k
        return decay_copy(t.begin());
2883
39.5k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
130k
    {
2882
130k
        return decay_copy(t.begin());
2883
130k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
376k
    {
2882
376k
        return decay_copy(t.begin());
2883
376k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
38.6k
    {
2882
38.6k
        return decay_copy(t.begin());
2883
38.6k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
161k
    {
2882
161k
        return decay_copy(t.begin());
2883
161k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
61.4k
    {
2882
61.4k
        return decay_copy(t.begin());
2883
61.4k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
79.0k
    {
2882
79.0k
        return decay_copy(t.begin());
2883
79.0k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
122k
    {
2882
122k
        return decay_copy(t.begin());
2883
122k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
310k
    {
2882
310k
        return decay_copy(t.begin());
2883
310k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
77.3k
    {
2882
77.3k
        return decay_copy(t.begin());
2883
77.3k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
122k
    {
2882
122k
        return decay_copy(t.begin());
2883
122k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
22.4k
    {
2882
22.4k
        return decay_copy(t.begin());
2883
22.4k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
96.0k
    {
2882
96.0k
        return decay_copy(t.begin());
2883
96.0k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
93.4k
    {
2882
93.4k
        return decay_copy(t.begin());
2883
93.4k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
164k
    {
2882
164k
        return decay_copy(t.begin());
2883
164k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
189k
    {
2882
189k
        return decay_copy(t.begin());
2883
189k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2884
2885
    template <typename T>
2886
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2887
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2888
        -> std::enable_if_t<
2889
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2890
            decltype(decay_copy(begin(SCN_FWD(t))))>
2891
    {
2892
        return decay_copy(begin(SCN_FWD(t)));
2893
    }
2894
2895
public:
2896
    template <typename T>
2897
    constexpr auto operator()(T&& t) const
2898
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2899
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2900
2.08M
    {
2901
2.08M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
2.08M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
39.5k
    {
2901
39.5k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
39.5k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
130k
    {
2901
130k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
130k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
376k
    {
2901
376k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
376k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
38.6k
    {
2901
38.6k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
38.6k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
161k
    {
2901
161k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
161k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
61.4k
    {
2901
61.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
61.4k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
79.0k
    {
2901
79.0k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
79.0k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
122k
    {
2901
122k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
122k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
310k
    {
2901
310k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
310k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
77.3k
    {
2901
77.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
77.3k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
122k
    {
2901
122k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
122k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
22.4k
    {
2901
22.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
22.4k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
96.0k
    {
2901
96.0k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
96.0k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
93.4k
    {
2901
93.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
93.4k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
164k
    {
2901
164k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
164k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
189k
    {
2901
189k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
189k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2903
};
2904
2905
}  // namespace detail::begin_
2906
2907
inline constexpr auto begin = detail::begin_::fn{};
2908
2909
namespace detail::end_ {
2910
2911
template <typename T>
2912
void end(T&) = delete;
2913
template <typename T>
2914
void end(const T&) = delete;
2915
2916
struct fn {
2917
private:
2918
    template <typename T,
2919
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2920
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2921
                  nullptr>
2922
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2923
2924
    template <typename T,
2925
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2926
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2927
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2928
    {
2929
        return t + std::extent_v<remove_cvref_t<T>>;
2930
    }
2931
2932
    template <typename T,
2933
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2934
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2935
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2936
        noexcept(decay_copy(SCN_FWD(t).end())))
2937
        -> std::enable_if_t<sentinel_for<S, I>,
2938
                            decltype(decay_copy(SCN_FWD(t).end()))>
2939
4.53M
    {
2940
4.53M
        return decay_copy(SCN_FWD(t).end());
2941
4.53M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
170k
    {
2940
170k
        return decay_copy(SCN_FWD(t).end());
2941
170k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
119k
    {
2940
119k
        return decay_copy(SCN_FWD(t).end());
2941
119k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
200k
    {
2940
200k
        return decay_copy(SCN_FWD(t).end());
2941
200k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
2.26M
    {
2940
2.26M
        return decay_copy(SCN_FWD(t).end());
2941
2.26M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
61.4k
    {
2940
61.4k
        return decay_copy(SCN_FWD(t).end());
2941
61.4k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
201k
    {
2940
201k
        return decay_copy(SCN_FWD(t).end());
2941
201k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
114k
    {
2940
114k
        return decay_copy(SCN_FWD(t).end());
2941
114k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
199k
    {
2940
199k
        return decay_copy(SCN_FWD(t).end());
2941
199k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
988k
    {
2940
988k
        return decay_copy(SCN_FWD(t).end());
2941
988k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
22.4k
    {
2940
22.4k
        return decay_copy(SCN_FWD(t).end());
2941
22.4k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
101k
    {
2940
101k
        return decay_copy(SCN_FWD(t).end());
2941
101k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
92.4k
    {
2940
92.4k
        return decay_copy(SCN_FWD(t).end());
2941
92.4k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2942
2943
    template <typename T,
2944
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2945
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2946
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2947
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2948
    {
2949
        return decay_copy(end(SCN_FWD(t)));
2950
    }
2951
2952
public:
2953
    template <typename T>
2954
    constexpr auto operator()(T&& t) const
2955
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2956
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2957
4.53M
    {
2958
4.53M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
4.53M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
170k
    {
2958
170k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
170k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
119k
    {
2958
119k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
119k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
200k
    {
2958
200k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
200k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
2.26M
    {
2958
2.26M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
2.26M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
61.4k
    {
2958
61.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
61.4k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
201k
    {
2958
201k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
201k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
114k
    {
2958
114k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
114k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
199k
    {
2958
199k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
199k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
988k
    {
2958
988k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
988k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
22.4k
    {
2958
22.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
22.4k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
101k
    {
2958
101k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
101k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
92.4k
    {
2958
92.4k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
92.4k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2960
};
2961
2962
}  // namespace detail::end_
2963
2964
inline constexpr auto end = detail::end_::fn{};
2965
2966
namespace detail {
2967
struct range_concept {
2968
    template <typename T>
2969
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2970
};
2971
}  // namespace detail
2972
2973
template <typename T>
2974
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2975
2976
template <typename T>
2977
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2978
2979
template <typename R>
2980
using sentinel_t =
2981
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2982
2983
template <typename R>
2984
using range_difference_t =
2985
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2986
2987
template <typename R>
2988
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2989
2990
template <typename R>
2991
using range_reference_t =
2992
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2993
2994
namespace detail {
2995
template <typename, typename = void>
2996
inline constexpr bool is_object_pointer_v = false;
2997
template <typename P>
2998
inline constexpr bool
2999
    is_object_pointer_v<P,
3000
                        std::enable_if_t<std::is_pointer_v<P> &&
3001
                                         std::is_object_v<iter_value_t<P>>>> =
3002
        true;
3003
3004
namespace data_ {
3005
3006
struct fn {
3007
private:
3008
    template <typename T,
3009
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
3010
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
3011
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
3012
973k
    {
3013
973k
        return t.data();
3014
973k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
84.6k
    {
3013
84.6k
        return t.data();
3014
84.6k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
99.7k
    {
3013
99.7k
        return t.data();
3014
99.7k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
164k
    {
3013
164k
        return t.data();
3014
164k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
189k
    {
3013
189k
        return t.data();
3014
189k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
246k
    {
3013
246k
        return t.data();
3014
246k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
189k
    {
3013
189k
        return t.data();
3014
189k
    }
3015
3016
    template <typename T>
3017
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3018
        noexcept(scn::ranges::begin(SCN_FWD(t))))
3019
        -> std::enable_if_t<
3020
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
3021
            decltype(scn::ranges::begin(SCN_FWD(t)))>
3022
353k
    {
3023
353k
        return scn::ranges::begin(SCN_FWD(t));
3024
353k
    }
std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
3022
164k
    {
3023
164k
        return scn::ranges::begin(SCN_FWD(t));
3024
164k
    }
std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
3022
189k
    {
3023
189k
        return scn::ranges::begin(SCN_FWD(t));
3024
189k
    }
3025
3026
public:
3027
    template <typename T>
3028
    constexpr auto operator()(T&& t) const
3029
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
3030
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
3031
1.32M
    {
3032
1.32M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
1.32M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
84.6k
    {
3032
84.6k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
84.6k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
99.7k
    {
3032
99.7k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
99.7k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
164k
    {
3032
164k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
164k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
189k
    {
3032
189k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
189k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
246k
    {
3032
246k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
246k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
189k
    {
3032
189k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
189k
    }
_ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
164k
    {
3032
164k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
164k
    }
_ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
189k
    {
3032
189k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
189k
    }
3034
};
3035
3036
}  // namespace data_
3037
}  // namespace detail
3038
3039
inline constexpr auto data = detail::data_::fn{};
3040
3041
template <typename T>
3042
inline constexpr bool disable_sized_range = false;
3043
3044
namespace detail::size_ {
3045
3046
template <typename T>
3047
void size(T&&) = delete;
3048
template <typename T>
3049
void size(T&) = delete;
3050
3051
struct fn {
3052
private:
3053
    template <typename T, std::size_t N>
3054
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3055
    {
3056
        return N;
3057
    }
3058
3059
    template <typename T, std::size_t N>
3060
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3061
    {
3062
        return N;
3063
    }
3064
3065
    template <typename T,
3066
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3067
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3068
        noexcept(decay_copy(SCN_FWD(t).size())))
3069
        -> std::enable_if_t<std::is_integral_v<I> &&
3070
                                !disable_sized_range<remove_cvref_t<T>>,
3071
                            I>
3072
714k
    {
3073
714k
        return decay_copy(SCN_FWD(t).size());
3074
714k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
84.6k
    {
3073
84.6k
        return decay_copy(SCN_FWD(t).size());
3074
84.6k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
99.7k
    {
3073
99.7k
        return decay_copy(SCN_FWD(t).size());
3074
99.7k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
82.0k
    {
3073
82.0k
        return decay_copy(SCN_FWD(t).size());
3074
82.0k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
94.6k
    {
3073
94.6k
        return decay_copy(SCN_FWD(t).size());
3074
94.6k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
82.0k
    {
3073
82.0k
        return decay_copy(SCN_FWD(t).size());
3074
82.0k
    }
_ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
82.0k
    {
3073
82.0k
        return decay_copy(SCN_FWD(t).size());
3074
82.0k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
94.6k
    {
3073
94.6k
        return decay_copy(SCN_FWD(t).size());
3074
94.6k
    }
_ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
94.6k
    {
3073
94.6k
        return decay_copy(SCN_FWD(t).size());
3074
94.6k
    }
3075
3076
    template <typename T,
3077
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3078
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3079
        noexcept(decay_copy(size(SCN_FWD(t)))))
3080
        -> std::enable_if_t<std::is_integral_v<I> &&
3081
                                !disable_sized_range<remove_cvref_t<T>>,
3082
                            I>
3083
    {
3084
        return decay_copy(size(SCN_FWD(t)));
3085
    }
3086
3087
    template <typename T,
3088
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3089
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3090
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3091
                                                             SCN_DECLVAL(I)))>
3092
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3093
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3094
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3095
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3096
                            D>
3097
    {
3098
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3099
    }
3100
3101
public:
3102
    template <typename T>
3103
    constexpr auto operator()(T&& t) const
3104
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3105
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3106
714k
    {
3107
714k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
714k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3106
84.6k
    {
3107
84.6k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
84.6k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3106
99.7k
    {
3107
99.7k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
99.7k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
82.0k
    {
3107
82.0k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
82.0k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
94.6k
    {
3107
94.6k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
94.6k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
82.0k
    {
3107
82.0k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
82.0k
    }
_ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Line
Count
Source
3106
82.0k
    {
3107
82.0k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
82.0k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
94.6k
    {
3107
94.6k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
94.6k
    }
_ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Line
Count
Source
3106
94.6k
    {
3107
94.6k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
94.6k
    }
3109
};
3110
3111
}  // namespace detail::size_
3112
3113
inline constexpr auto size = detail::size_::fn{};
3114
3115
namespace detail {
3116
namespace ssize_ {
3117
struct fn {
3118
private:
3119
    template <typename T>
3120
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3121
                                                  sizeof(std::ptrdiff_t),
3122
                                              std::ptrdiff_t,
3123
                                              range_difference_t<T>>;
3124
3125
    template <typename T>
3126
    static constexpr auto impl(T&& t) noexcept(
3127
        noexcept(ranges::size(std::forward<T>(t))))
3128
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3129
0
    {
3130
0
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3131
0
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3132
3133
public:
3134
    template <typename T>
3135
    constexpr auto operator()(T&& t) const
3136
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3137
            -> decltype(fn::impl(std::forward<T>(t)))
3138
0
    {
3139
0
        return fn::impl(std::forward<T>(t));
3140
0
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3141
};
3142
}  // namespace ssize_
3143
}  // namespace detail
3144
3145
inline constexpr auto ssize = detail::ssize_::fn{};
3146
3147
namespace detail::empty_ {
3148
struct fn {
3149
private:
3150
    template <typename T>
3151
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3152
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3153
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3154
    {
3155
        return static_cast<bool>(SCN_FWD(t).empty());
3156
    }
3157
3158
    template <typename T>
3159
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3160
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3161
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3162
    {
3163
        return ranges::size(SCN_FWD(t)) == 0;
3164
    }
3165
3166
    template <typename T,
3167
              typename I = decltype(ranges::begin(std::declval<T>()))>
3168
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3169
        noexcept(ranges::begin(t) == ranges::end(t)))
3170
        -> std::enable_if_t<forward_iterator<I>,
3171
                            decltype(ranges::begin(t) == ranges::end(t))>
3172
    {
3173
        return ranges::begin(t) == ranges::end(t);
3174
    }
3175
3176
public:
3177
    template <typename T>
3178
    constexpr auto operator()(T&& t) const
3179
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3180
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3181
    {
3182
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3183
    }
3184
};
3185
}  // namespace detail::empty_
3186
3187
inline constexpr auto empty = detail::empty_::fn{};
3188
3189
/**
3190
 * \see `std::ranges::borrowed_range`
3191
 */
3192
template <typename T>
3193
inline constexpr bool borrowed_range =
3194
    range<T> && (std::is_lvalue_reference_v<T> ||
3195
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3196
3197
namespace detail {
3198
struct sized_range_concept {
3199
    template <typename T>
3200
    auto requires_(T& t) -> decltype(ranges::size(t));
3201
};
3202
}  // namespace detail
3203
3204
template <typename T>
3205
inline constexpr bool sized_range =
3206
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3207
    detail::requires_<detail::sized_range_concept, T>;
3208
3209
namespace detail {
3210
struct output_range_concept {
3211
    template <typename, typename>
3212
    static auto test(long) -> std::false_type;
3213
3214
    template <typename R, typename T>
3215
    static auto test(int)
3216
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3217
                            std::true_type>;
3218
};
3219
}  // namespace detail
3220
3221
template <typename R, typename T>
3222
inline constexpr bool output_range =
3223
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3224
3225
namespace detail {
3226
struct input_range_concept {
3227
    template <typename>
3228
    static auto test(long) -> std::false_type;
3229
3230
    template <typename T>
3231
    static auto test(int)
3232
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3233
                            std::true_type>;
3234
};
3235
}  // namespace detail
3236
3237
template <typename T>
3238
inline constexpr bool input_range =
3239
    decltype(detail::input_range_concept::test<T>(0))::value;
3240
3241
namespace detail {
3242
struct forward_range_concept {
3243
    template <typename>
3244
    static auto test(long) -> std::false_type;
3245
3246
    template <typename T>
3247
    static auto test(int)
3248
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3249
                            std::true_type>;
3250
};
3251
}  // namespace detail
3252
3253
template <typename T>
3254
inline constexpr bool forward_range =
3255
    decltype(detail::forward_range_concept::test<T>(0))::value;
3256
3257
namespace detail {
3258
struct bidirectional_range_concept {
3259
    template <typename>
3260
    static auto test(long) -> std::false_type;
3261
3262
    template <typename T>
3263
    static auto test(int)
3264
        -> std::enable_if_t<forward_range<T> &&
3265
                                bidirectional_iterator<iterator_t<T>>,
3266
                            std::true_type>;
3267
};
3268
}  // namespace detail
3269
3270
template <typename T>
3271
inline constexpr bool bidirectional_range =
3272
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3273
3274
namespace detail {
3275
struct random_access_range_concept {
3276
    template <typename>
3277
    static auto test(long) -> std::false_type;
3278
3279
    template <typename T>
3280
    static auto test(int)
3281
        -> std::enable_if_t<bidirectional_range<T> &&
3282
                                random_access_iterator<iterator_t<T>>,
3283
                            std::true_type>;
3284
};
3285
}  // namespace detail
3286
3287
template <typename T>
3288
inline constexpr bool random_access_range =
3289
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3290
3291
namespace detail {
3292
// FIXME: Not to spec
3293
// We only require random_access_iterator, not contiguous_iterator
3294
// This is so that vector::iterator, string::iterator etc can model
3295
// contiguous_range.
3296
// If we do range-v3-style deep integration with iterator_traits then
3297
// this could be fixed
3298
struct contiguous_range_concept {
3299
    template <typename>
3300
    static auto test(long) -> std::false_type;
3301
3302
    template <typename T>
3303
    static auto test(int) -> std::enable_if_t<
3304
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3305
                                   * &&
3306
                                   */
3307
            detail::requires_<contiguous_range_concept, T>,
3308
        std::true_type>;
3309
3310
    template <typename T>
3311
    auto requires_(T& t)
3312
        -> decltype(requires_expr<std::is_same_v<
3313
                        decltype(ranges::data(t)),
3314
                        std::add_pointer_t<range_reference_t<T>>>>{});
3315
};
3316
}  // namespace detail
3317
3318
template <typename R>
3319
inline constexpr bool contiguous_range =
3320
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3321
3322
namespace detail {
3323
struct common_range_concept {
3324
    template <typename>
3325
    static auto test(long) -> std::false_type;
3326
3327
    template <typename T>
3328
    static auto test(int)
3329
        -> std::enable_if_t<range<T> &&
3330
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3331
                            std::true_type>;
3332
};
3333
}  // namespace detail
3334
3335
template <typename T>
3336
inline constexpr bool common_range =
3337
    decltype(detail::common_range_concept::test<T>(0))::value;
3338
3339
/**
3340
 * \see `std::ranges::dangling`
3341
 */
3342
struct dangling {
3343
    constexpr dangling() noexcept = default;
3344
3345
    template <typename... Args>
3346
    constexpr dangling(Args&&...) noexcept
3347
    {
3348
    }
3349
};
3350
3351
/**
3352
 * \see `std::ranges::borrowed_iterator_t`
3353
 */
3354
template <typename R>
3355
using borrowed_iterator_t =
3356
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3357
3358
template <typename D>
3359
class view_interface {
3360
    static_assert(std::is_class<D>::value, "");
3361
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3362
3363
private:
3364
    constexpr D& derived() noexcept
3365
443k
    {
3366
443k
        return static_cast<D&>(*this);
3367
443k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3365
248k
    {
3366
248k
        return static_cast<D&>(*this);
3367
248k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3365
194k
    {
3366
194k
        return static_cast<D&>(*this);
3367
194k
    }
3368
3369
    constexpr const D& derived() const noexcept
3370
184k
    {
3371
184k
        return static_cast<const D&>(*this);
3372
184k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3370
84.6k
    {
3371
84.6k
        return static_cast<const D&>(*this);
3372
84.6k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3370
99.7k
    {
3371
99.7k
        return static_cast<const D&>(*this);
3372
99.7k
    }
3373
3374
public:
3375
    template <typename R = D>
3376
    [[nodiscard]] constexpr auto empty()
3377
        -> std::enable_if_t<forward_range<R>, bool>
3378
    {
3379
        return ranges::begin(derived()) == ranges::end(derived());
3380
    }
3381
3382
    template <typename R = D>
3383
    [[nodiscard]] constexpr auto empty() const
3384
        -> std::enable_if_t<forward_range<const R>, bool>
3385
    {
3386
        return ranges::begin(derived()) == ranges::end(derived());
3387
    }
3388
3389
    template <typename R = D,
3390
              typename = decltype(ranges::empty(std::declval<R&>()))>
3391
    constexpr explicit operator bool()
3392
    {
3393
        return !ranges::empty(derived());
3394
    }
3395
3396
    template <typename R = D,
3397
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3398
    constexpr explicit operator bool() const
3399
    {
3400
        return !ranges::empty(derived());
3401
    }
3402
3403
    template <typename R = D,
3404
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3405
    constexpr auto data()
3406
443k
    {
3407
443k
        return detail::to_address(ranges::begin(derived()));
3408
443k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3406
248k
    {
3407
248k
        return detail::to_address(ranges::begin(derived()));
3408
248k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3406
194k
    {
3407
194k
        return detail::to_address(ranges::begin(derived()));
3408
194k
    }
3409
3410
    template <typename R = D,
3411
              typename = std::enable_if_t<
3412
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3413
    constexpr auto data() const
3414
184k
    {
3415
184k
        return detail::to_address(ranges::begin(derived()));
3416
184k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3414
84.6k
    {
3415
84.6k
        return detail::to_address(ranges::begin(derived()));
3416
84.6k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3414
99.7k
    {
3415
99.7k
        return detail::to_address(ranges::begin(derived()));
3416
99.7k
    }
3417
3418
    template <typename R = D,
3419
              typename = std::enable_if_t<
3420
                  forward_range<R> &&
3421
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3422
    constexpr auto size()
3423
    {
3424
        return ranges::end(derived()) - ranges::begin(derived());
3425
    }
3426
3427
    template <typename R = D,
3428
              typename = std::enable_if_t<
3429
                  forward_range<const R> &&
3430
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3431
    constexpr auto size() const
3432
    {
3433
        return ranges::end(derived()) - ranges::begin(derived());
3434
    }
3435
3436
#if 0
3437
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3438
    constexpr decltype(auto) front()
3439
    {
3440
        return *ranges::begin(derived());
3441
    }
3442
3443
    template <typename R = D,
3444
              typename = std::enable_if_t<forward_range<const R>>>
3445
    constexpr decltype(auto) front() const
3446
    {
3447
        return *ranges::begin(derived());
3448
    }
3449
3450
    template <
3451
        typename R = D,
3452
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3453
    constexpr decltype(auto) back()
3454
    {
3455
        return *ranges::prev(ranges::end(derived()));
3456
    }
3457
3458
    template <typename R = D,
3459
              typename = std::enable_if_t<bidirectional_range<const R> &&
3460
                                          common_range<const R>>>
3461
    constexpr decltype(auto) back() const
3462
    {
3463
        return *ranges::prev(ranges::end(derived()));
3464
    }
3465
3466
    template <typename R = D,
3467
              typename = std::enable_if_t<random_access_range<R>>>
3468
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3469
    {
3470
        return ranges::begin(derived())[n];
3471
    }
3472
#endif
3473
3474
    template <typename R = D,
3475
              typename = std::enable_if_t<random_access_range<const R>>>
3476
    constexpr decltype(auto) operator[](
3477
        iter_difference_t<iterator_t<const R>> n) const
3478
    {
3479
        return ranges::begin(derived())[n];
3480
    }
3481
};
3482
3483
namespace detail::subrange_ {
3484
3485
template <typename I, typename S = I>
3486
class subrange : public view_interface<subrange<I, S>> {
3487
    static_assert(input_or_output_iterator<I>);
3488
    static_assert(sentinel_for<S, I>);
3489
3490
public:
3491
384k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3491
84.6k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange()
Line
Count
Source
3491
100k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3491
99.7k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange()
Line
Count
Source
3491
99.7k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3492
3493
    template <typename I_,
3494
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3495
    constexpr subrange(I_ i, S s)
3496
3.15M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
3.15M
    {
3498
3.15M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3496
161k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
161k
    {
3498
161k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3496
122k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
122k
    {
3498
122k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3496
713k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
713k
    {
3498
713k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3496
655k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
655k
    {
3498
655k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3496
624k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
624k
    {
3498
624k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3496
872k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
872k
    {
3498
872k
    }
3499
3500
    template <
3501
        typename R,
3502
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3503
                         std::is_convertible_v<iterator_t<R>, I> &&
3504
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3505
    constexpr subrange(R&& r)
3506
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3507
    {
3508
    }
3509
3510
    SCN_NODISCARD constexpr I begin() const
3511
        noexcept(std::is_nothrow_copy_constructible_v<I>)
3512
5.68M
    {
3513
5.68M
        return m_iterator;
3514
5.68M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3512
1.12M
    {
3513
1.12M
        return m_iterator;
3514
1.12M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3512
223k
    {
3513
223k
        return m_iterator;
3514
223k
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3512
1.74M
    {
3513
1.74M
        return m_iterator;
3514
1.74M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3512
144k
    {
3513
144k
        return m_iterator;
3514
144k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3512
1.33M
    {
3513
1.33M
        return m_iterator;
3514
1.33M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3512
1.10M
    {
3513
1.10M
        return m_iterator;
3514
1.10M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3515
    SCN_NODISCARD constexpr S end() const
3516
        noexcept(std::is_nothrow_copy_constructible_v<S>)
3517
8.32M
    {
3518
8.32M
        return m_sentinel;
3519
8.32M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3517
859k
    {
3518
859k
        return m_sentinel;
3519
859k
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3517
2.32M
    {
3518
2.32M
        return m_sentinel;
3519
2.32M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3517
1.39M
    {
3518
1.39M
        return m_sentinel;
3519
1.39M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3517
1.01M
    {
3518
1.01M
        return m_sentinel;
3519
1.01M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3517
1.64M
    {
3518
1.64M
        return m_sentinel;
3519
1.64M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3517
1.08M
    {
3518
1.08M
        return m_sentinel;
3519
1.08M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3520
3521
    SCN_NODISCARD constexpr bool empty() const noexcept
3522
    {
3523
        return m_iterator == m_sentinel;
3524
    }
3525
3526
    template <typename I_ = I,
3527
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3528
    SCN_NODISCARD constexpr std::size_t size() const noexcept
3529
695k
    {
3530
695k
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
695k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3529
379k
    {
3530
379k
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
379k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3529
316k
    {
3530
316k
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
316k
    }
3532
3533
private:
3534
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3535
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3536
};
3537
3538
template <typename I,
3539
          typename S,
3540
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3541
              nullptr>
3542
subrange(I, S) -> subrange<I, S>;
3543
3544
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3545
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3546
3547
}  // namespace detail::subrange_
3548
3549
/**
3550
 * \see `std::ranges::subrange`
3551
 */
3552
using detail::subrange_::subrange;
3553
3554
template <typename I, typename S>
3555
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3556
3557
struct default_sentinel_t {};
3558
inline constexpr default_sentinel_t default_sentinel{};
3559
3560
}  // namespace ranges
3561
3562
namespace detail {
3563
3564
namespace char_t_fn {
3565
template <typename T, typename = typename T::value_type>
3566
constexpr auto impl_nonarray(priority_tag<2>)
3567
0
{
3568
0
    return tag_type<typename T::value_type>{};
3569
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3570
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3571
constexpr auto impl_nonarray(priority_tag<1>)
3572
0
{
3573
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3574
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3575
template <typename T>
3576
constexpr auto impl_nonarray(priority_tag<0>)
3577
{
3578
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3579
}
3580
3581
template <typename T,
3582
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3583
constexpr auto impl()
3584
0
{
3585
0
    using T_nocvref = remove_cvref_t<T>;
3586
0
    if constexpr (std::is_array_v<T_nocvref>) {
3587
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3588
0
    }
3589
0
    else {
3590
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3591
0
    }
3592
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3593
3594
template <typename Range>
3595
using result = decltype(impl<Range>());
3596
}  // namespace char_t_fn
3597
3598
template <typename Range>
3599
using char_t = typename char_t_fn::result<Range>::type;
3600
3601
template <typename Range, typename = void>
3602
inline constexpr bool is_file_or_narrow_range_impl = false;
3603
template <>
3604
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3605
template <typename Range>
3606
inline constexpr bool
3607
    is_file_or_narrow_range_impl<Range,
3608
                                 std::enable_if_t<ranges::range<Range>>> =
3609
        std::is_same_v<char_t<Range>, char>;
3610
3611
template <typename Range>
3612
inline constexpr bool is_file_or_narrow_range =
3613
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3614
3615
template <typename Range, typename = void>
3616
inline constexpr bool is_wide_range = false;
3617
template <typename Range>
3618
inline constexpr bool
3619
    is_wide_range<Range,
3620
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3621
        std::is_same_v<char_t<Range>, wchar_t>;
3622
3623
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3624
struct borrowed_tail_subrange {
3625
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3626
};
3627
template <typename R>
3628
struct borrowed_tail_subrange<R, false> {
3629
    using type = ranges::dangling;
3630
};
3631
3632
/// Equivalent to
3633
/// `ranges::subrange<ranges::iterator_t<R>,
3634
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3635
/// `ranges::dangling` otherwise.
3636
///
3637
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3638
/// the range sentinel.
3639
template <typename R>
3640
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3641
3642
}  // namespace detail
3643
3644
namespace ranges {
3645
template <typename CharT, typename Traits>
3646
inline constexpr bool
3647
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3648
}
3649
3650
SCN_GCC_POP  // -Wnoexcept (for the entirety of the expected and ranges impls)
3651
3652
    // reset formatting
3653
    namespace detail
3654
{
3655
}
3656
3657
/////////////////////////////////////////////////////////////////
3658
// Small generic algorithms
3659
/////////////////////////////////////////////////////////////////
3660
3661
namespace detail {
3662
3663
/**
3664
 * Implementation of `std::min_element` without including `<algorithm>`
3665
 */
3666
template <typename It>
3667
constexpr It min_element(It first, It last)
3668
{
3669
    if (first == last) {
3670
        return last;
3671
    }
3672
3673
    It smallest = first;
3674
    ++first;
3675
    for (; first != last; ++first) {
3676
        if (*first < *smallest) {
3677
            smallest = first;
3678
        }
3679
    }
3680
    return smallest;
3681
}
3682
3683
/**
3684
 * Implementation of `std::min` without including `<algorithm>`
3685
 */
3686
template <typename T>
3687
constexpr T min(T a, T b) noexcept
3688
{
3689
    return (b < a) ? b : a;
3690
}
3691
3692
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3693
constexpr Ptr find(Ptr first, Ptr last, T value)
3694
{
3695
    for (; first != last; ++first) {
3696
        if (*first == value) {
3697
            return first;
3698
        }
3699
    }
3700
    return last;
3701
}
3702
3703
template <>
3704
inline const char* find<false, char>(const char* first,
3705
                                     const char* last,
3706
                                     char value)
3707
0
{
3708
0
    auto ptr = static_cast<const char*>(
3709
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3710
0
    return ptr != nullptr ? ptr : last;
3711
0
}
3712
3713
}  // namespace detail
3714
3715
/////////////////////////////////////////////////////////////////
3716
// Errors
3717
/////////////////////////////////////////////////////////////////
3718
3719
/**
3720
 * Error class.
3721
 * Used as a return value for functions without a success value.
3722
 * Doesn't have a success state, and isn't default constructible:
3723
 * use `expected<void, scan_error>` to achieve that.
3724
 *
3725
 * \ingroup result
3726
 */
3727
class SCN_TRIVIAL_ABI scan_error {
3728
public:
3729
    /// Error code
3730
    enum code {
3731
        /// Input ended unexpectedly.
3732
        end_of_input,
3733
3734
        /// Format string was invalid.
3735
        /// Often a compile-time error, if supported and/or enabled.
3736
        invalid_format_string,
3737
3738
        /// Scanned value was invalid for given type,
3739
        /// or a value of the given couldn't be scanned.
3740
        invalid_scanned_value,
3741
3742
        /// Literal character specified in format string not found in source.
3743
        invalid_literal,
3744
3745
        /// Too many fill characters scanned,
3746
        /// field precision (max width) exceeded.
3747
        invalid_fill,
3748
3749
        /// Scanned field width was shorter than
3750
        /// what was specified as the minimum field width.
3751
        length_too_short,
3752
3753
        /// Source range is in an invalid state,
3754
        /// failed to continue reading.
3755
        invalid_source_state,
3756
3757
        /// Value out of range, too large (higher than the maximum value)
3758
        /// i.e. >2^32 for int32
3759
        value_positive_overflow,
3760
3761
        /// Value out of range, too small (lower than the minimum value)
3762
        /// i.e. <2^32 for int32
3763
        value_negative_overflow,
3764
3765
        /// Value out of range, magnitude too small, sign +
3766
        /// (between 0 and the smallest subnormal float)
3767
        value_positive_underflow,
3768
3769
        /// Value out of range, magnitude too small, sign -
3770
        /// (between 0 and the smallest subnormal float)
3771
        value_negative_underflow,
3772
3773
        /// Value of this type can't be parsed,
3774
        /// either from this source or not at all.
3775
        type_not_supported,
3776
3777
        max_error
3778
    };
3779
3780
private:
3781
    using code_t = code;
3782
3783
public:
3784
    /// Constructs an error with `c` and `m`
3785
900k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3786
900k
    {
3787
900k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3788
900k
    }
3789
3790
    constexpr explicit operator code_t() const noexcept
3791
0
    {
3792
0
        return m_code;
3793
0
    }
3794
3795
    /// Get error code
3796
    SCN_NODISCARD constexpr code_t code() const noexcept
3797
0
    {
3798
0
        return m_code;
3799
0
    }
3800
    /// Get error message
3801
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3802
0
    {
3803
0
        return m_msg;
3804
0
    }
3805
3806
    /// Convert to a `std::errc`.
3807
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3808
0
    {
3809
0
        switch (m_code) {
3810
0
            case end_of_input:
3811
0
            case invalid_format_string:
3812
0
            case invalid_scanned_value:
3813
0
            case invalid_literal:
3814
0
            case invalid_fill:
3815
0
            case length_too_short:
3816
0
            case type_not_supported:
3817
0
                return std::errc::invalid_argument;
3818
0
            case invalid_source_state:
3819
0
                return std::errc::io_error;
3820
0
            case value_positive_overflow:
3821
0
            case value_negative_overflow:
3822
0
            case value_positive_underflow:
3823
0
            case value_negative_underflow:
3824
0
                return std::errc::result_out_of_range;
3825
0
            case max_error:
3826
0
                SCN_CLANG_PUSH
3827
0
                SCN_CLANG_IGNORE("-Wcovered-switch-default")
3828
0
            default:
3829
0
                assert(false);
3830
0
                SCN_UNREACHABLE;
3831
0
                SCN_CLANG_POP
3832
0
        }
3833
0
    }
3834
3835
private:
3836
    const char* m_msg;
3837
    code_t m_code;
3838
};
3839
3840
constexpr bool operator==(scan_error a, scan_error b) noexcept
3841
0
{
3842
0
    return a.code() == b.code();
3843
0
}
3844
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3845
0
{
3846
0
    return !(a == b);
3847
0
}
3848
3849
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3850
0
{
3851
0
    return a.code() == b;
3852
0
}
3853
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3854
0
{
3855
0
    return !(a == b);
3856
0
}
3857
3858
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3859
0
{
3860
0
    return a == b.code();
3861
0
}
3862
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3863
0
{
3864
0
    return !(a == b);
3865
0
}
3866
3867
namespace detail {
3868
// Intentionally not constexpr, to give out a compile-time error
3869
SCN_COLD scan_error handle_error(scan_error e);
3870
}  // namespace detail
3871
3872
#if SCN_HAS_EXCEPTIONS
3873
3874
namespace detail {
3875
3876
SCN_CLANG_PUSH
3877
SCN_CLANG_IGNORE("-Wweak-vtables")
3878
3879
class scan_format_string_error_base : public std::runtime_error {
3880
public:
3881
    explicit scan_format_string_error_base(const std::string& what_arg)
3882
        : runtime_error(what_arg)
3883
0
    {
3884
0
    }
3885
3886
    explicit scan_format_string_error_base(std::false_type,
3887
                                           const char* what_arg)
3888
        : runtime_error(what_arg)
3889
0
    {
3890
0
    }
3891
3892
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3893
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3894
0
    {
3895
0
    }
3896
3897
    // Doing everything in a `detail::` base class
3898
    // to make this a `friend` inside that namespace
3899
    // (essentially private)
3900
    friend const char* get_internal_literal_msg(
3901
        const scan_format_string_error_base& m)
3902
0
    {
3903
0
        return m.m_internal_literal_msg;
3904
0
    }
3905
3906
private:
3907
    const char* m_internal_literal_msg{nullptr};
3908
};
3909
3910
}  // namespace detail
3911
3912
/**
3913
 * An exception type used to report format string parsing errors.
3914
 */
3915
class scan_format_string_error : public detail::scan_format_string_error_base {
3916
public:
3917
    // Not `using` constructors to document them explicitly.
3918
3919
    /**
3920
     * Construct from a `std::string`.
3921
     */
3922
    explicit scan_format_string_error(const std::string& what_arg)
3923
        : scan_format_string_error_base(what_arg)
3924
0
    {
3925
0
    }
3926
3927
    /**
3928
     * Construct from a `const char*`.
3929
     */
3930
    explicit scan_format_string_error(const char* what_arg)
3931
        : scan_format_string_error_base(std::false_type{}, what_arg)
3932
0
    {
3933
0
    }
3934
3935
    /**
3936
     * Construct from a string literal.
3937
     */
3938
    template <std::size_t N>
3939
    explicit scan_format_string_error(const char (&what_arg)[N])
3940
        : scan_format_string_error_base(std::true_type{}, what_arg)
3941
    {
3942
    }
3943
};
3944
3945
SCN_CLANG_POP  // -Wweak-vtables
3946
#endif
3947
3948
    /**
3949
     * An `expected<T, scan_error>`.
3950
     *
3951
     * Not a type alias to shorten template names.
3952
     *
3953
     * \ingroup result
3954
     */
3955
    template <typename T>
3956
    struct scan_expected : public expected<T, scan_error> {
3957
    using expected<T, scan_error>::expected;
3958
3959
    scan_expected(const expected<T, scan_error>& other)
3960
        : expected<T, scan_error>(other)
3961
    {
3962
    }
3963
    scan_expected(expected<T, scan_error>&& other)
3964
368k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
368k
    {
3966
368k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
Line
Count
Source
3964
82.0k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
82.0k
    {
3966
82.0k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3964
97.5k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
97.5k
    {
3966
97.5k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
Line
Count
Source
3964
94.6k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
94.6k
    {
3966
94.6k
    }
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3964
94.6k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
94.6k
    {
3966
94.6k
    }
3967
};
3968
3969
namespace detail {
3970
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3971
0
{
3972
0
    return unexpected(scan_error{c, m});
3973
0
}
3974
3975
template <typename T>
3976
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3977
}  // namespace detail
3978
3979
592k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3980
592k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3981
592k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3982
3983
#define SCN_TRY_DISCARD(x)                                          \
3984
768k
    do {                                                            \
3985
768k
        if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3986
247k
            return ::scn::unexpected(SCN_TRY_TMP.error());          \
3987
247k
        }                                                           \
3988
768k
    } while (false)
3989
3990
#define SCN_TRY_ASSIGN(init, x)                        \
3991
929k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3992
929k
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3993
344k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3994
344k
    }                                                  \
3995
945k
    init = *SCN_FWD(SCN_TRY_TMP)
3996
929k
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3997
3998
/////////////////////////////////////////////////////////////////
3999
// string_view utilities
4000
/////////////////////////////////////////////////////////////////
4001
4002
namespace detail {
4003
4004
template <typename T>
4005
struct is_string_view : std::false_type {};
4006
template <typename CharT, typename Traits>
4007
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
4008
};
4009
4010
// workarounds for MSVC string_view debug iterators
4011
template <typename CharT>
4012
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
4013
    typename std::basic_string_view<CharT>::iterator first,
4014
    typename std::basic_string_view<CharT>::iterator last)
4015
328k
{
4016
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4017
                                          decltype(first), decltype(last)> &&
4018
                  !SCN_MSVC_DEBUG_ITERATORS) {
4019
        return {first, last};
4020
    }
4021
328k
    else {
4022
328k
        return {to_address(first), static_cast<size_t>(std::distance(
4023
328k
                                       to_address(first), to_address(last)))};
4024
328k
    }
4025
328k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4015
328k
{
4016
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4017
                                          decltype(first), decltype(last)> &&
4018
                  !SCN_MSVC_DEBUG_ITERATORS) {
4019
        return {first, last};
4020
    }
4021
328k
    else {
4022
328k
        return {to_address(first), static_cast<size_t>(std::distance(
4023
328k
                                       to_address(first), to_address(last)))};
4024
328k
    }
4025
328k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4026
4027
template <typename CharT>
4028
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
4029
    const CharT* first,
4030
    const CharT* last)
4031
722k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
722k
    else {
4037
722k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
722k
    }
4039
722k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
4031
343k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
343k
    else {
4037
343k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
343k
    }
4039
343k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
4031
378k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
378k
    else {
4037
378k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
378k
    }
4039
378k
}
4040
4041
template <typename CharT>
4042
constexpr auto make_string_view_iterator(
4043
    std::basic_string_view<CharT> sv,
4044
    typename std::basic_string_view<CharT>::iterator it) ->
4045
    typename std::basic_string_view<CharT>::iterator
4046
474k
{
4047
    if constexpr (std::is_constructible_v<
4048
                      typename std::basic_string_view<CharT>::iterator,
4049
                      decltype(it)> &&
4050
474k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4051
474k
        SCN_UNUSED(sv);
4052
474k
        return it;
4053
    }
4054
    else {
4055
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4056
    }
4057
474k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4046
474k
{
4047
    if constexpr (std::is_constructible_v<
4048
                      typename std::basic_string_view<CharT>::iterator,
4049
                      decltype(it)> &&
4050
474k
                  !SCN_MSVC_DEBUG_ITERATORS) {
4051
474k
        SCN_UNUSED(sv);
4052
474k
        return it;
4053
    }
4054
    else {
4055
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4056
    }
4057
474k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4058
4059
template <typename CharT>
4060
constexpr auto make_string_view_iterator_from_pointer(
4061
    std::basic_string_view<CharT> sv,
4062
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4063
{
4064
    if constexpr (std::is_constructible_v<
4065
                      typename std::basic_string_view<CharT>::iterator,
4066
                      const CharT*> &&
4067
                  !SCN_MSVC_DEBUG_ITERATORS) {
4068
        SCN_UNUSED(sv);
4069
        return ptr;
4070
    }
4071
    else {
4072
        return sv.begin() + std::distance(sv.data(), ptr);
4073
    }
4074
}
4075
4076
/////////////////////////////////////////////////////////////////
4077
// Lightweight Unicode facilities
4078
/////////////////////////////////////////////////////////////////
4079
4080
constexpr inline bool is_ascii_code_point(char32_t cp)
4081
0
{
4082
0
    return cp <= 0x7f;
4083
0
}
4084
4085
template <typename U8>
4086
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4087
873k
{
4088
873k
    static_assert(sizeof(U8) == 1);
4089
4090
873k
    SCN_GCC_COMPAT_PUSH
4091
873k
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4092
873k
    constexpr char lengths[] =
4093
873k
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4094
873k
        "\1\1\1\1\1\1\1\1"
4095
873k
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4096
                            // byte
4097
873k
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4098
873k
        "\3\3"              // highest bits 1110 -> 3-byte cp
4099
873k
        "\4";               // highest bits 11110 -> 4-byte cp
4100
873k
    return lengths[static_cast<unsigned char>(ch) >> 3];
4101
873k
    SCN_GCC_COMPAT_POP
4102
873k
}
4103
4104
template <typename U16>
4105
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4106
{
4107
    static_assert(sizeof(U16) == 2);
4108
4109
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4110
    if (lead >= 0xd800 && lead <= 0xdbff) {
4111
        // high surrogate
4112
        return 2;
4113
    }
4114
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4115
        // unpaired low surrogate
4116
        return 0;
4117
    }
4118
    return 1;
4119
}
4120
4121
template <typename U>
4122
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4123
1.33M
{
4124
1.33M
    if constexpr (sizeof(U) == 1) {
4125
873k
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
461k
    else {
4131
        // utf-32
4132
461k
        static_assert(sizeof(U) == 4);
4133
461k
        SCN_UNUSED(ch);
4134
461k
        return 1;
4135
461k
    }
4136
1.33M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4123
873k
{
4124
873k
    if constexpr (sizeof(U) == 1) {
4125
873k
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
    else {
4131
        // utf-32
4132
        static_assert(sizeof(U) == 4);
4133
        SCN_UNUSED(ch);
4134
        return 1;
4135
    }
4136
873k
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4123
461k
{
4124
    if constexpr (sizeof(U) == 1) {
4125
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
461k
    else {
4131
        // utf-32
4132
461k
        static_assert(sizeof(U) == 4);
4133
461k
        SCN_UNUSED(ch);
4134
461k
        return 1;
4135
461k
    }
4136
461k
}
4137
4138
inline constexpr char32_t invalid_code_point = 0x110000;
4139
4140
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4141
    std::string_view input)
4142
435k
{
4143
435k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4144
4145
435k
    const auto is_trailing_code_unit = [](char ch) {
4146
10.1k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4147
10.1k
    };
4148
4149
435k
    if (input.size() == 1) {
4150
425k
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4151
150
            SCN_UNLIKELY_ATTR
4152
150
            return invalid_code_point;
4153
150
        }
4154
425k
        return static_cast<char32_t>(input[0]);
4155
425k
    }
4156
4157
9.69k
    if (input.size() == 2) {
4158
8.05k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4159
60
            SCN_UNLIKELY_ATTR
4160
60
            return invalid_code_point;
4161
60
        }
4162
7.99k
        if (!is_trailing_code_unit(input[1])) {
4163
1.87k
            SCN_UNLIKELY_ATTR
4164
1.87k
            return invalid_code_point;
4165
1.87k
        }
4166
4167
6.12k
        char32_t cp{};
4168
6.12k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4169
6.12k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4170
6.12k
        return cp;
4171
7.99k
    }
4172
4173
1.64k
    if (input.size() == 3) {
4174
584
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4175
48
            SCN_UNLIKELY_ATTR
4176
48
            return invalid_code_point;
4177
48
        }
4178
536
        if (!is_trailing_code_unit(input[1]) ||
4179
536
            !is_trailing_code_unit(input[2])) {
4180
416
            SCN_UNLIKELY_ATTR
4181
416
            return invalid_code_point;
4182
416
        }
4183
4184
120
        char32_t cp{};
4185
120
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4186
120
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4187
120
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4188
120
        return cp;
4189
536
    }
4190
4191
1.06k
    if (input.size() == 4) {
4192
1.06k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4193
0
            SCN_UNLIKELY_ATTR
4194
0
            return invalid_code_point;
4195
0
        }
4196
1.06k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4197
309
            SCN_UNLIKELY_ATTR
4198
309
            return invalid_code_point;
4199
309
        }
4200
752
        if (!is_trailing_code_unit(input[1]) ||
4201
752
            !is_trailing_code_unit(input[2]) ||
4202
752
            !is_trailing_code_unit(input[3])) {
4203
628
            SCN_UNLIKELY_ATTR
4204
628
            return invalid_code_point;
4205
628
        }
4206
4207
124
        char32_t cp{};
4208
124
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4209
124
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4210
124
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4211
124
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4212
124
        return cp;
4213
752
    }
4214
4215
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4216
    // gcc 7 thinks we'll get here, even when we won't
4217
0
    SCN_EXPECT(false);
4218
0
#endif
4219
0
    SCN_UNREACHABLE;
4220
0
}
4221
4222
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4223
    std::string_view input)
4224
0
{
4225
0
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4226
4227
0
    const auto is_trailing_code_unit = [](char ch) {
4228
0
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4229
0
    };
4230
4231
0
    if (input.size() == 1) {
4232
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4233
0
        return static_cast<char32_t>(input[0]);
4234
0
    }
4235
4236
0
    if (input.size() == 2) {
4237
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4238
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4239
4240
0
        char32_t cp{};
4241
0
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4242
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4243
0
        return cp;
4244
0
    }
4245
4246
0
    if (input.size() == 3) {
4247
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4248
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4249
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4250
4251
0
        char32_t cp{};
4252
0
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4253
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4254
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4255
0
        return cp;
4256
0
    }
4257
4258
0
    if (input.size() == 4) {
4259
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4260
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4261
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4262
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4263
0
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4264
4265
0
        char32_t cp{};
4266
0
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4267
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4268
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4269
0
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4270
0
        return cp;
4271
0
    }
4272
4273
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4274
    // gcc 7 thinks we'll get here, even when we won't
4275
0
    SCN_EXPECT(false);
4276
0
#endif
4277
0
    SCN_UNREACHABLE;
4278
0
}
4279
4280
template <typename CharT>
4281
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4282
    std::basic_string_view<CharT> input)
4283
{
4284
    static_assert(sizeof(CharT) == 2);
4285
4286
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4287
4288
    if (input.size() == 1) {
4289
        return static_cast<char32_t>(input[0]);
4290
    }
4291
4292
    const auto lead = static_cast<uint32_t>(input[0]);
4293
    const auto trail = static_cast<uint32_t>(input[1]);
4294
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4295
        SCN_UNLIKELY_ATTR
4296
        return invalid_code_point;
4297
    }
4298
4299
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4300
    return static_cast<char32_t>(cp + 0x10000);
4301
}
4302
4303
template <typename CharT>
4304
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4305
    std::basic_string_view<CharT> input)
4306
{
4307
    static_assert(sizeof(CharT) == 2);
4308
4309
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4310
4311
    if (input.size() == 1) {
4312
        return static_cast<char32_t>(input[0]);
4313
    }
4314
4315
    const auto lead = static_cast<uint32_t>(input[0]);
4316
    const auto trail = static_cast<uint32_t>(input[1]);
4317
    SCN_EXPECT(lead >= 0xd800);
4318
    SCN_EXPECT(lead <= 0xdbff);
4319
    SCN_EXPECT(trail >= 0xdc00);
4320
    SCN_EXPECT(trail <= 0xdfff);
4321
4322
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4323
    return static_cast<char32_t>(cp + 0x10000);
4324
}
4325
4326
template <typename CharT>
4327
inline constexpr char32_t decode_code_point_exhaustive(
4328
    std::basic_string_view<CharT> input)
4329
792k
{
4330
792k
    if constexpr (sizeof(CharT) == 1) {
4331
435k
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
357k
    else {
4337
357k
        SCN_EXPECT(input.size() == 1);
4338
357k
        auto cp = static_cast<char32_t>(input.front());
4339
357k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
45.4k
            return invalid_code_point;
4341
45.4k
        }
4342
312k
        return cp;
4343
357k
    }
4344
792k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4329
435k
{
4330
435k
    if constexpr (sizeof(CharT) == 1) {
4331
435k
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
    else {
4337
        SCN_EXPECT(input.size() == 1);
4338
        auto cp = static_cast<char32_t>(input.front());
4339
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
            return invalid_code_point;
4341
        }
4342
        return cp;
4343
    }
4344
435k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4329
357k
{
4330
    if constexpr (sizeof(CharT) == 1) {
4331
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
357k
    else {
4337
357k
        SCN_EXPECT(input.size() == 1);
4338
357k
        auto cp = static_cast<char32_t>(input.front());
4339
357k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
45.4k
            return invalid_code_point;
4341
45.4k
        }
4342
312k
        return cp;
4343
357k
    }
4344
357k
}
4345
4346
template <typename CharT>
4347
inline constexpr char32_t decode_code_point_exhaustive_valid(
4348
    std::basic_string_view<CharT> input)
4349
0
{
4350
0
    if constexpr (sizeof(CharT) == 1) {
4351
0
        return decode_utf8_code_point_exhaustive_valid(input);
4352
    }
4353
    else if constexpr (sizeof(CharT) == 2) {
4354
        return decode_utf16_code_point_exhaustive_valid(input);
4355
    }
4356
0
    else {
4357
0
        SCN_EXPECT(input.size() == 1);
4358
0
        return static_cast<char32_t>(input.front());
4359
0
    }
4360
0
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4361
4362
inline constexpr bool is_cp_space(char32_t cp) noexcept
4363
577k
{
4364
    // Pattern_White_Space property
4365
577k
    return (cp >= 0x09 && cp <= 0x0d) ||
4366
577k
           cp == 0x20 ||    // ASCII space characters
4367
577k
           cp == 0x85 ||    // NEXT LINE (NEL)
4368
577k
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4369
577k
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4370
577k
           cp == 0x2028 ||  // LINE SEPARATOR
4371
577k
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4372
577k
}
4373
4374
}  // namespace detail
4375
4376
/////////////////////////////////////////////////////////////////
4377
// scan_buffer
4378
/////////////////////////////////////////////////////////////////
4379
4380
namespace detail {
4381
template <typename CharT>
4382
class basic_scan_buffer {
4383
public:
4384
    class forward_iterator;
4385
    class common_forward_iterator;
4386
4387
    using char_type = CharT;
4388
    using range_type =
4389
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4390
    using common_range_type = ranges::subrange<common_forward_iterator>;
4391
4392
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4393
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4394
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4395
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4396
376k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4396
182k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4396
194k
    virtual ~basic_scan_buffer() = default;
4397
4398
    virtual bool fill() = 0;
4399
4400
    virtual bool sync(std::ptrdiff_t position)
4401
199k
    {
4402
199k
        SCN_UNUSED(position);
4403
199k
        return true;
4404
199k
    }
scn::v4::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4401
100k
    {
4402
100k
        SCN_UNUSED(position);
4403
100k
        return true;
4404
100k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4401
99.7k
    {
4402
99.7k
        SCN_UNUSED(position);
4403
99.7k
        return true;
4404
99.7k
    }
4405
4406
    bool sync_all()
4407
115k
    {
4408
115k
        return sync(0);
4409
115k
    }
scn::v4::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4407
38.6k
    {
4408
38.6k
        return sync(0);
4409
38.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4407
77.3k
    {
4408
77.3k
        return sync(0);
4409
77.3k
    }
4410
4411
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4412
7.97M
    {
4413
7.97M
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
7.97M
                                           m_current_view.size());
4415
7.97M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4412
2.64M
    {
4413
2.64M
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
2.64M
                                           m_current_view.size());
4415
2.64M
    }
scn::v4::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4412
5.32M
    {
4413
5.32M
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
5.32M
                                           m_current_view.size());
4415
5.32M
    }
4416
4417
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4418
0
    {
4419
0
        return m_current_view;
4420
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4421
4422
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4423
0
    {
4424
0
        return m_putback_buffer;
4425
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4426
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4427
    {
4428
        return m_putback_buffer;
4429
    }
4430
4431
    SCN_GCC_PUSH
4432
    SCN_GCC_IGNORE("-Warray-bounds")
4433
4434
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4435
        std::ptrdiff_t pos) const
4436
97.5k
    {
4437
97.5k
        SCN_EXPECT(pos >= 0);
4438
97.5k
        const auto upos = static_cast<std::size_t>(pos);
4439
97.5k
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4440
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(upos);
4441
0
        }
4442
97.5k
        const auto start = upos - m_putback_buffer.size();
4443
97.5k
        SCN_EXPECT(start <= m_current_view.size());
4444
97.5k
        return m_current_view.substr(start);
4445
97.5k
    }
scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4436
97.5k
    {
4437
97.5k
        SCN_EXPECT(pos >= 0);
4438
97.5k
        const auto upos = static_cast<std::size_t>(pos);
4439
97.5k
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4440
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(upos);
4441
0
        }
4442
97.5k
        const auto start = upos - m_putback_buffer.size();
4443
97.5k
        SCN_EXPECT(start <= m_current_view.size());
4444
97.5k
        return m_current_view.substr(start);
4445
97.5k
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
4446
4447
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4448
1.90M
    {
4449
1.90M
        SCN_EXPECT(pos >= 0);
4450
1.90M
        const auto upos = static_cast<std::size_t>(pos);
4451
1.90M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
778k
            return m_putback_buffer[upos];
4453
778k
        }
4454
1.12M
        const auto start = upos - m_putback_buffer.size();
4455
1.12M
        SCN_EXPECT(start < m_current_view.size());
4456
1.12M
        return m_current_view[start];
4457
1.12M
    }
scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4448
1.19M
    {
4449
1.19M
        SCN_EXPECT(pos >= 0);
4450
1.19M
        const auto upos = static_cast<std::size_t>(pos);
4451
1.19M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
389k
            return m_putback_buffer[upos];
4453
389k
        }
4454
800k
        const auto start = upos - m_putback_buffer.size();
4455
800k
        SCN_EXPECT(start < m_current_view.size());
4456
800k
        return m_current_view[start];
4457
800k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4448
716k
    {
4449
716k
        SCN_EXPECT(pos >= 0);
4450
716k
        const auto upos = static_cast<std::size_t>(pos);
4451
716k
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
389k
            return m_putback_buffer[upos];
4453
389k
        }
4454
326k
        const auto start = upos - m_putback_buffer.size();
4455
326k
        SCN_EXPECT(start < m_current_view.size());
4456
326k
        return m_current_view[start];
4457
326k
    }
4458
4459
    SCN_GCC_POP
4460
4461
    SCN_NODISCARD bool is_contiguous() const
4462
776k
    {
4463
776k
        return m_is_contiguous;
4464
776k
    }
scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4462
382k
    {
4463
382k
        return m_is_contiguous;
4464
382k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4462
393k
    {
4463
393k
        return m_is_contiguous;
4464
393k
    }
4465
4466
    SCN_NODISCARD auto get_contiguous() const
4467
0
    {
4468
0
        SCN_EXPECT(is_contiguous());
4469
0
        return ranges::subrange<const CharT*>{
4470
0
            current_view().data(),
4471
0
            current_view().data() + current_view().size()};
4472
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4473
4474
    SCN_NODISCARD range_type get();
4475
    SCN_NODISCARD common_range_type get_common_range();
4476
4477
protected:
4478
    friend class forward_iterator;
4479
    friend class common_forward_iterator;
4480
4481
    struct contiguous_tag {};
4482
    struct non_contiguous_tag {};
4483
4484
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4485
176k
        : m_current_view(sv), m_is_contiguous(true)
4486
176k
    {
4487
176k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4485
82.0k
        : m_current_view(sv), m_is_contiguous(true)
4486
82.0k
    {
4487
82.0k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4485
94.6k
        : m_current_view(sv), m_is_contiguous(true)
4486
94.6k
    {
4487
94.6k
    }
4488
4489
    basic_scan_buffer(non_contiguous_tag,
4490
                      std::basic_string_view<char_type> sv = {})
4491
199k
        : m_current_view(sv), m_is_contiguous(false)
4492
199k
    {
4493
199k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4491
100k
        : m_current_view(sv), m_is_contiguous(false)
4492
100k
    {
4493
100k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4491
99.7k
        : m_current_view(sv), m_is_contiguous(false)
4492
99.7k
    {
4493
99.7k
    }
4494
4495
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4496
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4497
0
    {
4498
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4499
4500
    std::basic_string_view<char_type> m_current_view{};
4501
    std::basic_string<char_type> m_putback_buffer{};
4502
    bool m_is_contiguous{false};
4503
};
4504
4505
template <typename CharT>
4506
class basic_scan_buffer<CharT>::forward_iterator {
4507
public:
4508
    using value_type = CharT;
4509
    using reference = CharT;
4510
    using pointer = CharT*;
4511
    using difference_type = std::ptrdiff_t;
4512
    using iterator_category = std::forward_iterator_tag;
4513
4514
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4515
4516
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4517
199k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
199k
    {
4519
199k
        SCN_EXPECT(parent);
4520
199k
        SCN_EXPECT(!parent->is_contiguous());
4521
199k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4517
100k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
100k
    {
4519
100k
        SCN_EXPECT(parent);
4520
100k
        SCN_EXPECT(!parent->is_contiguous());
4521
100k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4517
99.7k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
99.7k
    {
4519
99.7k
        SCN_EXPECT(parent);
4520
99.7k
        SCN_EXPECT(!parent->is_contiguous());
4521
99.7k
    }
4522
4523
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4524
184k
        : m_begin(const_cast<CharT*>(view.data())),
4525
184k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4526
184k
          m_position(pos)
4527
184k
    {
4528
184k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Line
Count
Source
4524
84.6k
        : m_begin(const_cast<CharT*>(view.data())),
4525
84.6k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4526
84.6k
          m_position(pos)
4527
84.6k
    {
4528
84.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
Line
Count
Source
4524
99.7k
        : m_begin(const_cast<CharT*>(view.data())),
4525
99.7k
          m_end(const_cast<CharT*>(view.data() + view.size())),
4526
99.7k
          m_position(pos)
4527
99.7k
    {
4528
99.7k
    }
4529
4530
    std::ptrdiff_t position() const
4531
411k
    {
4532
411k
        return m_position;
4533
411k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4531
271k
    {
4532
271k
        return m_position;
4533
271k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4531
139k
    {
4532
139k
        return m_position;
4533
139k
    }
4534
4535
    bool stores_parent() const
4536
19.4M
    {
4537
19.4M
        assert(m_begin);
4538
19.4M
        return m_end == nullptr;
4539
19.4M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4536
12.7M
    {
4537
12.7M
        assert(m_begin);
4538
12.7M
        return m_end == nullptr;
4539
12.7M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4536
6.67M
    {
4537
6.67M
        assert(m_begin);
4538
6.67M
        return m_end == nullptr;
4539
6.67M
    }
4540
4541
    basic_scan_buffer<CharT>* parent()
4542
0
    {
4543
0
        SCN_EXPECT(stores_parent());
4544
0
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4545
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
4546
    const basic_scan_buffer<CharT>* parent() const
4547
11.0M
    {
4548
11.0M
        SCN_EXPECT(stores_parent());
4549
11.0M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
11.0M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4547
7.38M
    {
4548
7.38M
        SCN_EXPECT(stores_parent());
4549
7.38M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
7.38M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4547
3.70M
    {
4548
3.70M
        SCN_EXPECT(stores_parent());
4549
3.70M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
3.70M
    }
4551
4552
    std::basic_string_view<CharT> contiguous_segment() const
4553
274k
    {
4554
274k
        if (!stores_parent()) {
4555
176k
            return make_string_view_from_pointers(
4556
176k
                static_cast<const CharT*>(m_begin) + position(),
4557
176k
                static_cast<const CharT*>(m_end));
4558
176k
        }
4559
97.5k
        return parent()->get_segment_starting_at(position());
4560
274k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4553
179k
    {
4554
179k
        if (!stores_parent()) {
4555
82.0k
            return make_string_view_from_pointers(
4556
82.0k
                static_cast<const CharT*>(m_begin) + position(),
4557
82.0k
                static_cast<const CharT*>(m_end));
4558
82.0k
        }
4559
97.5k
        return parent()->get_segment_starting_at(position());
4560
179k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4553
94.6k
    {
4554
94.6k
        if (!stores_parent()) {
4555
94.6k
            return make_string_view_from_pointers(
4556
94.6k
                static_cast<const CharT*>(m_begin) + position(),
4557
94.6k
                static_cast<const CharT*>(m_end));
4558
94.6k
        }
4559
0
        return parent()->get_segment_starting_at(position());
4560
94.6k
    }
4561
    auto to_contiguous_segment_iterator() const
4562
    {
4563
        return contiguous_segment().data();
4564
    }
4565
4566
    forward_iterator& operator++()
4567
1.75M
    {
4568
1.75M
        ++m_position;
4569
1.75M
        (void)read_at_position();
4570
1.75M
        return *this;
4571
1.75M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4567
1.30M
    {
4568
1.30M
        ++m_position;
4569
1.30M
        (void)read_at_position();
4570
1.30M
        return *this;
4571
1.30M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4567
446k
    {
4568
446k
        ++m_position;
4569
446k
        (void)read_at_position();
4570
446k
        return *this;
4571
446k
    }
4572
4573
    forward_iterator operator++(int)
4574
    {
4575
        auto copy = *this;
4576
        operator++();
4577
        return copy;
4578
    }
4579
4580
    CharT operator*() const
4581
1.90M
    {
4582
1.90M
        SCN_EXPECT(m_begin);
4583
4584
1.90M
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
1.90M
        auto res = read_at_position();
4591
1.90M
        SCN_EXPECT(res);
4592
1.90M
        return parent()->get_character_at(m_position);
4593
1.90M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4581
1.19M
    {
4582
1.19M
        SCN_EXPECT(m_begin);
4583
4584
1.19M
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
1.19M
        auto res = read_at_position();
4591
1.19M
        SCN_EXPECT(res);
4592
1.19M
        return parent()->get_character_at(m_position);
4593
1.19M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4581
716k
    {
4582
716k
        SCN_EXPECT(m_begin);
4583
4584
716k
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
716k
        auto res = read_at_position();
4591
716k
        SCN_EXPECT(res);
4592
716k
        return parent()->get_character_at(m_position);
4593
716k
    }
4594
4595
    forward_iterator& batch_advance(std::ptrdiff_t n)
4596
68.4k
    {
4597
68.4k
        SCN_EXPECT(n >= 0);
4598
68.4k
        m_position += n;
4599
68.4k
        return *this;
4600
68.4k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Line
Count
Source
4596
45.9k
    {
4597
45.9k
        SCN_EXPECT(n >= 0);
4598
45.9k
        m_position += n;
4599
45.9k
        return *this;
4600
45.9k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
Line
Count
Source
4596
22.4k
    {
4597
22.4k
        SCN_EXPECT(n >= 0);
4598
22.4k
        m_position += n;
4599
22.4k
        return *this;
4600
22.4k
    }
4601
4602
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4603
176k
    {
4604
176k
        SCN_EXPECT(i >= m_position);
4605
176k
        m_position = i;
4606
176k
        return *this;
4607
176k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Line
Count
Source
4603
82.0k
    {
4604
82.0k
        SCN_EXPECT(i >= m_position);
4605
82.0k
        m_position = i;
4606
82.0k
        return *this;
4607
82.0k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
Line
Count
Source
4603
94.6k
    {
4604
94.6k
        SCN_EXPECT(i >= m_position);
4605
94.6k
        m_position = i;
4606
94.6k
        return *this;
4607
94.6k
    }
4608
4609
    friend bool operator==(const forward_iterator& lhs,
4610
                           const forward_iterator& rhs)
4611
742k
    {
4612
742k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
742k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4611
586k
    {
4612
586k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
586k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4611
156k
    {
4612
156k
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
156k
    }
4614
    friend bool operator!=(const forward_iterator& lhs,
4615
                           const forward_iterator& rhs)
4616
742k
    {
4617
742k
        return !(lhs == rhs);
4618
742k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4616
586k
    {
4617
586k
        return !(lhs == rhs);
4618
586k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4616
156k
    {
4617
156k
        return !(lhs == rhs);
4618
156k
    }
4619
4620
    friend bool operator==(const forward_iterator& x,
4621
                           ranges::default_sentinel_t)
4622
960k
    {
4623
960k
        return x.is_at_end();
4624
960k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4622
539k
    {
4623
539k
        return x.is_at_end();
4624
539k
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4622
421k
    {
4623
421k
        return x.is_at_end();
4624
421k
    }
4625
    friend bool operator==(ranges::default_sentinel_t,
4626
                           const forward_iterator& x)
4627
    {
4628
        return x.is_at_end();
4629
    }
4630
4631
    friend bool operator!=(const forward_iterator& x,
4632
                           ranges::default_sentinel_t)
4633
1.16M
    {
4634
1.16M
        return !x.is_at_end();
4635
1.16M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4633
776k
    {
4634
776k
        return !x.is_at_end();
4635
776k
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4633
392k
    {
4634
392k
        return !x.is_at_end();
4635
392k
    }
4636
    friend bool operator!=(ranges::default_sentinel_t,
4637
                           const forward_iterator& x)
4638
    {
4639
        return !x.is_at_end();
4640
    }
4641
4642
private:
4643
    friend class basic_scan_buffer<CharT>;
4644
4645
    SCN_NODISCARD bool read_at_position() const
4646
5.78M
    {
4647
5.78M
        SCN_EXPECT(m_begin);
4648
4649
5.78M
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
5.78M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
4.68M
            return true;
4655
4.68M
        }
4656
4657
2.18M
        while (m_position >= parent()->chars_available()) {
4658
1.10M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
33.8k
                return false;
4660
33.8k
            }
4661
1.10M
        }
4662
1.07M
        return true;
4663
1.10M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4646
3.81M
    {
4647
3.81M
        SCN_EXPECT(m_begin);
4648
4649
3.81M
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
3.81M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
3.04M
            return true;
4655
3.04M
        }
4656
4657
1.51M
        while (m_position >= parent()->chars_available()) {
4658
765k
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
14.8k
                return false;
4660
14.8k
            }
4661
765k
        }
4662
750k
        return true;
4663
765k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4646
1.97M
    {
4647
1.97M
        SCN_EXPECT(m_begin);
4648
4649
1.97M
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
1.97M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
1.63M
            return true;
4655
1.63M
        }
4656
4657
665k
        while (m_position >= parent()->chars_available()) {
4658
342k
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
19.0k
                return false;
4660
19.0k
            }
4661
342k
        }
4662
323k
        return true;
4663
342k
    }
4664
4665
    SCN_NODISCARD bool is_at_end() const
4666
2.12M
    {
4667
2.12M
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
2.12M
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
2.12M
        return !read_at_position();
4674
2.12M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4666
1.31M
    {
4667
1.31M
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
1.31M
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
1.31M
        return !read_at_position();
4674
1.31M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4666
813k
    {
4667
813k
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
813k
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
813k
        return !read_at_position();
4674
813k
    }
4675
4676
    // If m_end is null, m_begin points to the parent scan_buffer
4677
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4678
    // the entire range)
4679
    mutable void* m_begin{nullptr};
4680
    mutable void* m_end{nullptr};
4681
    std::ptrdiff_t m_position{0};
4682
};
4683
4684
template <typename CharT>
4685
class basic_scan_buffer<CharT>::common_forward_iterator
4686
    : public basic_scan_buffer<CharT>::forward_iterator {
4687
    using base = basic_scan_buffer<CharT>::forward_iterator;
4688
4689
public:
4690
    common_forward_iterator() = default;
4691
4692
    explicit common_forward_iterator(forward_iterator it)
4693
0
        : base(it), m_is_end(it.is_at_end())
4694
0
    {
4695
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4696
    explicit common_forward_iterator(ranges::default_sentinel_t)
4697
0
        : base(), m_is_end(true)
4698
0
    {
4699
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4700
4701
    common_forward_iterator& operator++()
4702
    {
4703
        base::operator++();
4704
        m_is_end = base::is_at_end();
4705
        return *this;
4706
    }
4707
4708
    common_forward_iterator operator++(int)
4709
    {
4710
        auto copy = *this;
4711
        operator++();
4712
        return copy;
4713
    }
4714
4715
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4716
    {
4717
        base::batch_advance(n);
4718
        m_is_end = base::is_at_end();
4719
        return *this;
4720
    }
4721
4722
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4723
    {
4724
        base::batch_advance_to(i);
4725
        m_is_end = base::is_at_end();
4726
        return *this;
4727
    }
4728
4729
    friend bool operator==(const common_forward_iterator& lhs,
4730
                           const common_forward_iterator& rhs)
4731
    {
4732
        if (lhs.m_is_end && rhs.m_is_end) {
4733
            return true;
4734
        }
4735
        if (lhs.m_is_end != rhs.m_is_end) {
4736
            return false;
4737
        }
4738
        return static_cast<const forward_iterator&>(lhs) ==
4739
               static_cast<const forward_iterator&>(rhs);
4740
    }
4741
4742
    friend bool operator!=(const common_forward_iterator& lhs,
4743
                           const common_forward_iterator& rhs)
4744
    {
4745
        return !(lhs == rhs);
4746
    }
4747
4748
private:
4749
    bool m_is_end{};
4750
};
4751
4752
template <typename CharT>
4753
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4754
376k
{
4755
376k
    if (is_contiguous()) {
4756
176k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
176k
                                ranges::default_sentinel};
4758
176k
    }
4759
199k
    return ranges::subrange{forward_iterator{this, 0},
4760
199k
                            ranges::default_sentinel};
4761
376k
}
scn::v4::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4754
182k
{
4755
182k
    if (is_contiguous()) {
4756
82.0k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
82.0k
                                ranges::default_sentinel};
4758
82.0k
    }
4759
100k
    return ranges::subrange{forward_iterator{this, 0},
4760
100k
                            ranges::default_sentinel};
4761
182k
}
scn::v4::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4754
194k
{
4755
194k
    if (is_contiguous()) {
4756
94.6k
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
94.6k
                                ranges::default_sentinel};
4758
94.6k
    }
4759
99.7k
    return ranges::subrange{forward_iterator{this, 0},
4760
99.7k
                            ranges::default_sentinel};
4761
194k
}
4762
4763
template <typename CharT>
4764
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4765
    -> common_range_type
4766
{
4767
    auto r = get();
4768
    return ranges::subrange{common_forward_iterator{r.begin()},
4769
                            common_forward_iterator{r.end()}};
4770
}
4771
4772
static_assert(ranges::forward_range<scan_buffer::range_type>);
4773
4774
template <typename CharT>
4775
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4776
    using base = basic_scan_buffer<CharT>;
4777
4778
public:
4779
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4780
176k
        : base(typename base::contiguous_tag{}, sv)
4781
176k
    {
4782
176k
    }
scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4780
82.0k
        : base(typename base::contiguous_tag{}, sv)
4781
82.0k
    {
4782
82.0k
    }
scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4780
94.6k
        : base(typename base::contiguous_tag{}, sv)
4781
94.6k
    {
4782
94.6k
    }
4783
4784
    bool fill() override
4785
0
    {
4786
0
        SCN_EXPECT(false);
4787
0
        SCN_UNREACHABLE;
4788
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4789
};
4790
4791
template <typename CharT>
4792
basic_scan_string_buffer(std::basic_string_view<CharT>)
4793
    -> basic_scan_string_buffer<CharT>;
4794
4795
template <typename CharT>
4796
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4797
    using base = basic_scan_buffer<CharT>;
4798
4799
protected:
4800
199k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
199k
    {
4802
199k
    }
scn::v4::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4800
100k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
100k
    {
4802
100k
    }
scn::v4::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4800
99.7k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
99.7k
    {
4802
99.7k
    }
4803
};
4804
4805
template <typename I, typename S>
4806
using less_than_compare =
4807
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4808
4809
template <typename Range>
4810
class basic_scan_forward_buffer_impl
4811
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4812
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4813
4814
    using _char_type = detail::char_t<Range>;
4815
    using base = basic_scan_forward_buffer_base<_char_type>;
4816
4817
public:
4818
    using char_type = _char_type;
4819
    using range_type = Range;
4820
    using iterator = ranges::iterator_t<const Range>;
4821
    using sentinel = ranges::sentinel_t<const Range>;
4822
4823
    template <
4824
        typename R,
4825
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4826
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4827
    basic_scan_forward_buffer_impl(R&& r)
4828
199k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
199k
          m_cursor(ranges::begin(*m_range))
4830
199k
    {
4831
199k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4828
100k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
100k
          m_cursor(ranges::begin(*m_range))
4830
100k
    {
4831
100k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4828
99.7k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
99.7k
          m_cursor(ranges::begin(*m_range))
4830
99.7k
    {
4831
99.7k
    }
4832
4833
    bool fill() override
4834
1.10M
    {
4835
1.10M
        if (m_cursor == ranges::end(*m_range)) {
4836
33.8k
            return false;
4837
33.8k
        }
4838
1.07M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
1.07M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
1.07M
        }
4841
1.07M
        if (!this->m_current_view.empty()) {
4842
881k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
881k
                                          this->m_current_view.begin(),
4844
881k
                                          this->m_current_view.end());
4845
881k
        }
4846
1.07M
        m_latest = *m_cursor;
4847
1.07M
        ++m_cursor;
4848
1.07M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
1.07M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
1.07M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
1.07M
        }
4852
1.07M
        return true;
4853
1.10M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4834
765k
    {
4835
765k
        if (m_cursor == ranges::end(*m_range)) {
4836
14.8k
            return false;
4837
14.8k
        }
4838
750k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
750k
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
750k
        }
4841
750k
        if (!this->m_current_view.empty()) {
4842
653k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
653k
                                          this->m_current_view.begin(),
4844
653k
                                          this->m_current_view.end());
4845
653k
        }
4846
750k
        m_latest = *m_cursor;
4847
750k
        ++m_cursor;
4848
750k
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
750k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
750k
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
750k
        }
4852
750k
        return true;
4853
765k
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4834
342k
    {
4835
342k
        if (m_cursor == ranges::end(*m_range)) {
4836
19.0k
            return false;
4837
19.0k
        }
4838
323k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
323k
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
323k
        }
4841
323k
        if (!this->m_current_view.empty()) {
4842
228k
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
228k
                                          this->m_current_view.begin(),
4844
228k
                                          this->m_current_view.end());
4845
228k
        }
4846
323k
        m_latest = *m_cursor;
4847
323k
        ++m_cursor;
4848
323k
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
323k
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
323k
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
323k
        }
4852
323k
        return true;
4853
342k
    }
4854
4855
private:
4856
    const Range* m_range;
4857
    iterator m_cursor;
4858
    char_type m_latest{};
4859
};
4860
4861
template <typename R>
4862
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4863
4864
struct default_file_tag {};
4865
struct gnu_file_tag {};
4866
struct bsd_file_tag {};
4867
struct musl_file_tag {};
4868
struct win32_file_tag {};
4869
4870
// Non-pretty workaround for MSVC silliness
4871
template <typename F, typename = void>
4872
inline constexpr bool is_gnu_file = false;
4873
template <typename F>
4874
inline constexpr bool
4875
    is_gnu_file<F,
4876
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4877
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4878
4879
template <typename F, typename = void>
4880
inline constexpr bool is_bsd_file = false;
4881
template <typename F>
4882
inline constexpr bool is_bsd_file<
4883
    F,
4884
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4885
    true;
4886
4887
template <typename F, typename = void>
4888
inline constexpr bool is_musl_file = false;
4889
template <typename F>
4890
inline constexpr bool is_musl_file<
4891
    F,
4892
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4893
    true;
4894
4895
template <typename F>
4896
inline constexpr bool is_win32_file =
4897
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4898
4899
constexpr auto get_file_tag()
4900
0
{
4901
0
    if constexpr (is_gnu_file<std::FILE>) {
4902
0
        return detail::tag_type<gnu_file_tag>{};
4903
0
    }
4904
0
    else if constexpr (is_bsd_file<std::FILE>) {
4905
0
        return detail::tag_type<bsd_file_tag>{};
4906
0
    }
4907
0
    else if constexpr (is_musl_file<std::FILE>) {
4908
0
        return detail::tag_type<musl_file_tag>{};
4909
0
    }
4910
0
    else if constexpr (is_win32_file<std::FILE>) {
4911
0
        return detail::tag_type<win32_file_tag>{};
4912
0
    }
4913
0
    else {
4914
0
        return detail::tag_type<default_file_tag>{};
4915
0
    }
4916
0
}
4917
4918
template <typename File>
4919
struct stdio_file_interface_base {
4920
0
    explicit constexpr stdio_file_interface_base(File* f) noexcept : file(f) {}
4921
    ~stdio_file_interface_base() = default;
4922
4923
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4924
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4925
        delete;
4926
4927
    constexpr stdio_file_interface_base(
4928
        stdio_file_interface_base&& other) noexcept
4929
0
        : file(other.file)
4930
0
    {
4931
0
        other.file = nullptr;
4932
0
    }
4933
    constexpr stdio_file_interface_base& operator=(
4934
        stdio_file_interface_base&& other) noexcept
4935
    {
4936
        file = other.file;
4937
        other.file = nullptr;
4938
        return *this;
4939
    }
4940
4941
    File* file;
4942
};
4943
4944
template <typename File, typename Tag>
4945
struct stdio_file_interface_impl;
4946
4947
template <typename File>
4948
struct stdio_file_interface_impl<File, default_file_tag>
4949
    : stdio_file_interface_base<File> {
4950
    using stdio_file_interface_base<File>::stdio_file_interface_base;
4951
4952
    static constexpr void lock() {}
4953
    static constexpr void unlock() {}
4954
4955
    SCN_NODISCARD static constexpr bool has_buffering()
4956
    {
4957
        return false;
4958
    }
4959
4960
    SCN_NODISCARD std::string_view buffer() const
4961
    {
4962
        return {};
4963
    }
4964
    void unsafe_advance_n(std::ptrdiff_t)
4965
    {
4966
        SCN_EXPECT(false);
4967
        SCN_UNREACHABLE;
4968
    }
4969
    void fill_buffer()
4970
    {
4971
        SCN_EXPECT(false);
4972
        SCN_UNREACHABLE;
4973
    }
4974
4975
    SCN_NODISCARD std::optional<char> read_one()
4976
    {
4977
        auto res = std::fgetc(this->file);
4978
        if (res == EOF) {
4979
            return std::nullopt;
4980
        }
4981
        return static_cast<char>(res);
4982
    }
4983
4984
    void prepare_putback() {}
4985
    void finalize_putback() {}
4986
4987
    SCN_NODISCARD bool putback(char ch)
4988
    {
4989
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4990
    }
4991
};
4992
4993
template <typename File>
4994
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4995
    using stdio_file_interface_base<File>::stdio_file_interface_base;
4996
4997
    void lock()
4998
0
    {
4999
0
        flockfile(this->file);
5000
0
    }
5001
    void unlock()
5002
0
    {
5003
0
        funlockfile(this->file);
5004
0
    }
5005
5006
    SCN_NODISCARD static constexpr bool has_buffering()
5007
0
    {
5008
0
        return true;
5009
0
    }
5010
5011
    SCN_NODISCARD std::optional<char> read_one()
5012
0
    {
5013
0
        auto res = getc_unlocked(this->file);
5014
0
        if (res == EOF) {
5015
0
            return std::nullopt;
5016
0
        }
5017
0
        return static_cast<char>(res);
5018
0
    }
5019
5020
    void prepare_putback()
5021
0
    {
5022
0
        unlock();
5023
0
    }
5024
    void finalize_putback()
5025
0
    {
5026
0
        lock();
5027
0
    }
5028
5029
    SCN_NODISCARD bool putback(char ch)
5030
0
    {
5031
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
5032
0
    }
5033
};
5034
5035
template <typename File>
5036
struct stdio_file_interface_impl<File, gnu_file_tag>
5037
    : posix_stdio_file_interface<File> {
5038
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5039
5040
    SCN_NODISCARD std::string_view buffer() const
5041
0
    {
5042
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
5043
0
                                              this->file->_IO_read_end);
5044
0
    }
5045
    void unsafe_advance_n(std::ptrdiff_t n)
5046
0
    {
5047
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
5048
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
5049
0
        this->file->_IO_read_ptr += n;
5050
0
    }
5051
    void fill_buffer()
5052
0
    {
5053
0
        if (__uflow(this->file) != EOF) {
5054
0
            --this->file->_IO_read_ptr;
5055
0
        }
5056
0
    }
5057
};
5058
5059
template <typename File>
5060
struct stdio_file_interface_impl<File, bsd_file_tag>
5061
    : posix_stdio_file_interface<File> {
5062
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5063
5064
    SCN_NODISCARD std::string_view buffer() const
5065
    {
5066
        return {reinterpret_cast<const char*>(this->file->_p),
5067
                static_cast<std::size_t>(this->file->_r)};
5068
    }
5069
    void unsafe_advance_n(std::ptrdiff_t n)
5070
    {
5071
        SCN_EXPECT(this->file->_p != nullptr);
5072
        SCN_EXPECT(this->file->_r >= n);
5073
        this->file->_p += n;
5074
        this->file->_r -= static_cast<int>(n);
5075
    }
5076
    void fill_buffer()
5077
    {
5078
        if (__srget(this->file) != EOF) {
5079
            --this->file->_p;
5080
            ++this->file->_r;
5081
        }
5082
    }
5083
};
5084
5085
template <typename File>
5086
struct stdio_file_interface_impl<File, musl_file_tag>
5087
    : posix_stdio_file_interface<File> {
5088
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5089
5090
    SCN_NODISCARD std::string_view buffer() const
5091
    {
5092
        return make_string_view_from_pointers(
5093
            reinterpret_cast<const char*>(this->file->rpos),
5094
            reinterpret_cast<const char*>(this->file->rend));
5095
    }
5096
    void unsafe_advance_n(std::ptrdiff_t n)
5097
    {
5098
        SCN_EXPECT(this->file->rpos != nullptr);
5099
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5100
        this->file->rpos += n;
5101
    }
5102
    void fill_buffer()
5103
    {
5104
        if (__uflow(this->file) != EOF) {
5105
            --this->file->rpos;
5106
        }
5107
    }
5108
};
5109
5110
template <typename File>
5111
struct stdio_file_interface_impl<File, win32_file_tag>
5112
    : stdio_file_interface_base<File> {
5113
    using stdio_file_interface_base<File>::stdio_file_interface_base;
5114
5115
    void lock()
5116
    {
5117
        _lock_file(this->file);
5118
    }
5119
    void unlock()
5120
    {
5121
        _unlock_file(this->file);
5122
    }
5123
5124
    SCN_NODISCARD static constexpr bool has_buffering()
5125
    {
5126
        return false;
5127
    }
5128
5129
    SCN_NODISCARD std::string_view buffer() const
5130
    {
5131
        return {};
5132
    }
5133
    void unsafe_advance_n(std::ptrdiff_t n)
5134
    {
5135
        SCN_UNUSED(n);
5136
        SCN_EXPECT(false);
5137
        SCN_UNREACHABLE;
5138
    }
5139
    void fill_buffer()
5140
    {
5141
        SCN_EXPECT(false);
5142
        SCN_UNREACHABLE;
5143
    }
5144
5145
    SCN_NODISCARD std::optional<char> read_one()
5146
    {
5147
        auto res = _fgetc_nolock(this->file);
5148
        if (res == EOF) {
5149
            return std::nullopt;
5150
        }
5151
        return static_cast<char>(res);
5152
    }
5153
5154
    static void prepare_putback() {}
5155
    static void finalize_putback() {}
5156
5157
    SCN_NODISCARD bool putback(char ch)
5158
    {
5159
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5160
               EOF;
5161
    }
5162
};
5163
5164
using stdio_file_interface =
5165
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5166
5167
template <typename FileInterface>
5168
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5169
    using base = basic_scan_buffer<char>;
5170
5171
public:
5172
    explicit basic_scan_file_buffer(FileInterface file);
5173
    ~basic_scan_file_buffer() override;
5174
5175
    bool fill() override;
5176
5177
    bool sync(std::ptrdiff_t position) override;
5178
5179
private:
5180
    FileInterface m_file;
5181
    std::optional<char_type> m_latest{std::nullopt};
5182
};
5183
5184
SCN_CLANG_PUSH
5185
SCN_CLANG_IGNORE("-Wweak-vtables")
5186
5187
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5188
    explicit scan_file_buffer(std::FILE* file)
5189
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5190
0
    {
5191
0
    }
5192
};
5193
5194
SCN_CLANG_POP
5195
5196
extern template basic_scan_file_buffer<
5197
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5198
extern template basic_scan_file_buffer<
5199
    stdio_file_interface>::~basic_scan_file_buffer();
5200
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5201
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5202
    std::ptrdiff_t);
5203
5204
template <typename CharT>
5205
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5206
    using base = basic_scan_buffer<CharT>;
5207
5208
public:
5209
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5210
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5211
0
          m_other(&other),
5212
0
          m_starting_pos(starting_pos)
5213
0
    {
5214
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5215
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5216
0
                                    this->m_current_view.end();
5217
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5218
5219
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5220
0
        : base(true, view), m_other(nullptr)
5221
0
    {
5222
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5223
5224
    bool fill() override
5225
0
    {
5226
0
        if (!m_other) {
5227
0
            return false;
5228
0
        }
5229
0
        SCN_EXPECT(m_starting_pos >= 0);
5230
5231
0
        if (m_fill_needs_to_propagate) {
5232
0
            auto ret = m_other->fill();
5233
0
            this->m_current_view = m_other->current_view();
5234
0
            this->m_putback_buffer = m_other->putback_buffer().substr(
5235
0
                static_cast<std::size_t>(m_starting_pos));
5236
0
            return ret;
5237
0
        }
5238
5239
0
        m_fill_needs_to_propagate = true;
5240
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5241
0
        this->m_current_view = m_other->current_view();
5242
0
        return true;
5243
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5244
5245
private:
5246
    base* m_other;
5247
    std::ptrdiff_t m_starting_pos{-1};
5248
    bool m_fill_needs_to_propagate{false};
5249
};
5250
5251
template <typename CharT>
5252
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5253
    -> basic_scan_ref_buffer<CharT>;
5254
5255
template <typename CharT>
5256
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5257
    -> basic_scan_ref_buffer<CharT>;
5258
5259
template <typename Range>
5260
auto make_string_scan_buffer(const Range& range)
5261
{
5262
    return basic_scan_string_buffer(std::basic_string_view<char_t<Range>>{
5263
        ranges::data(range), ranges::size(range)});
5264
}
5265
5266
template <typename Range>
5267
auto make_forward_scan_buffer(const Range& range)
5268
199k
{
5269
199k
    return basic_scan_forward_buffer_impl(range);
5270
199k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5268
100k
{
5269
100k
    return basic_scan_forward_buffer_impl(range);
5270
100k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5268
99.7k
{
5269
99.7k
    return basic_scan_forward_buffer_impl(range);
5270
99.7k
}
5271
5272
inline auto make_file_scan_buffer(std::FILE* file)
5273
0
{
5274
0
    return scan_file_buffer(file);
5275
0
}
5276
}  // namespace detail
5277
5278
/////////////////////////////////////////////////////////////////
5279
// make_scan_buffer
5280
/////////////////////////////////////////////////////////////////
5281
5282
/**
5283
 * \defgroup scannable Scannable sources
5284
 *
5285
 * \brief Description of the `scannable_range` and `scannable_source`
5286
 * concepts.
5287
 *
5288
 * A range is considered scannable, if it models at least `forward_range`,
5289
 * and its character type is correct (its value type is the same as the one
5290
 * of the format string).
5291
 * If the range additionally models `contiguous_range` and `sized_range`,
5292
 * additional optimizations are enabled.
5293
 *
5294
 * \code{.cpp}
5295
 * // Exposition only
5296
 * template <typename Range, typename CharT>
5297
 * concept scannable_range =
5298
 *     ranges::forward_range<Range> &&
5299
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5300
 * \endcode
5301
 *
5302
 * Additionally, files (`std::FILE*`) can be scanned from.
5303
 * Files are always considered to be narrow (`char`-oriented).
5304
 * Thus, the entire concept is:
5305
 *
5306
 * \code{.cpp}
5307
 * // Exposition only
5308
 * template <typename Source, typename CharT>
5309
 * concept scannable_source =
5310
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5311
 *    std::same_as<CharT, char>) ||
5312
 *   scannable_range<Source, CharT>;
5313
 * \endcode
5314
 */
5315
5316
/**
5317
 * Tag type to indicate an invalid range given to `scn::scan`
5318
 *
5319
 * \ingroup scannable
5320
 */
5321
struct invalid_input_range {};
5322
5323
struct invalid_char_type : invalid_input_range {};
5324
struct custom_char_traits : invalid_input_range {};
5325
struct file_marker_found : invalid_input_range {};
5326
struct insufficient_range : invalid_input_range {};
5327
5328
namespace detail {
5329
template <typename CharT>
5330
inline constexpr bool is_valid_char_type =
5331
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5332
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5333
5334
namespace _make_scan_buffer {
5335
// buffer -> ref_buffer
5336
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5337
    -> basic_scan_ref_buffer<char>
5338
0
{
5339
0
    if (!r.begin().stores_parent()) {
5340
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5341
0
    }
5342
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5343
0
}
5344
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5345
    -> basic_scan_ref_buffer<wchar_t>
5346
0
{
5347
0
    if (!r.begin().stores_parent()) {
5348
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5349
0
    }
5350
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5351
0
}
5352
5353
// string_view -> string_buffer
5354
template <typename CharT>
5355
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5356
{
5357
    if constexpr (is_valid_char_type<CharT>) {
5358
        return r;
5359
        // return make_string_scan_buffer(r);
5360
    }
5361
    else {
5362
        return invalid_char_type{};
5363
    }
5364
}
5365
5366
// string& -> string_buffer
5367
template <typename CharT, typename Traits, typename Allocator>
5368
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5369
          priority_tag<3>) noexcept
5370
0
{
5371
    if constexpr (!is_valid_char_type<CharT>) {
5372
        return invalid_char_type{};
5373
    }
5374
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5375
        return custom_char_traits{};
5376
    }
5377
0
    else {
5378
0
        return std::basic_string_view<CharT>{r.data(), r.size()};
5379
0
    }
5380
0
}
5381
5382
// String literals:
5383
// CharT(&)[] -> string_buffer
5384
template <typename CharT,
5385
          std::size_t N,
5386
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5387
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5388
{
5389
    return std::basic_string_view<CharT>{r, N - 1};
5390
}
5391
5392
// FILE* -> file_buffer
5393
inline auto impl(std::FILE* file, priority_tag<3>)
5394
0
{
5395
0
    return make_file_scan_buffer(file);
5396
0
}
5397
5398
// contiguous + sized -> string_buffer
5399
template <typename Range,
5400
          std::enable_if_t<ranges::contiguous_range<Range> &&
5401
                           ranges::sized_range<Range>>* = nullptr>
5402
auto impl(const Range& r, priority_tag<2>)
5403
184k
{
5404
184k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
184k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
184k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
184k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5403
84.6k
{
5404
84.6k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
84.6k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
84.6k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
84.6k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5403
99.7k
{
5404
99.7k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
99.7k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
99.7k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
99.7k
}
5412
5413
// !contiguous + random-access + iterator can be made into a ptr
5414
// for MSVC debug iterators
5415
//   -> string_buffer
5416
template <typename Range,
5417
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5418
                           ranges::random_access_range<Range> &&
5419
                           can_make_address_from_iterator<
5420
                               ranges::iterator_t<Range>>>* = nullptr>
5421
auto impl(const Range& r, priority_tag<1>)
5422
{
5423
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5424
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5425
                                              to_address(ranges::end(r)));
5426
    }
5427
    else {
5428
        return invalid_char_type{};
5429
    }
5430
}
5431
5432
// forward -> forward_buffer<R>
5433
template <typename Range>
5434
auto impl(const Range& r, priority_tag<0>)
5435
199k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
199k
    else {
5451
199k
        return make_forward_scan_buffer(r);
5452
199k
    }
5453
199k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5435
100k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
100k
    else {
5451
100k
        return make_forward_scan_buffer(r);
5452
100k
    }
5453
100k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5435
99.7k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
99.7k
    else {
5451
99.7k
        return make_forward_scan_buffer(r);
5452
99.7k
    }
5453
99.7k
}
5454
}  // namespace _make_scan_buffer
5455
5456
template <typename Range>
5457
inline constexpr bool is_scannable_range =
5458
    !std::is_base_of_v<invalid_input_range,
5459
                       decltype(_make_scan_buffer::impl(
5460
                                    SCN_DECLVAL(const Range&)),
5461
                                priority_tag<4>{})>;
5462
5463
template <typename Range>
5464
auto make_scan_buffer(const Range& range)
5465
384k
{
5466
384k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
384k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
384k
                  "\n"
5470
384k
                  "Unsupported range type given as input to a scanning "
5471
384k
                  "function.\n"
5472
384k
                  "A range needs to have a character type (value type) "
5473
384k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
384k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
384k
                  "to be included.\n"
5476
384k
                  "See the scnlib documentation for more details.");
5477
384k
    static_assert(
5478
384k
        !std::is_same_v<T, custom_char_traits>,
5479
384k
        "\n"
5480
384k
        "Unsupported range type given as input to a scanning "
5481
384k
        "function.\n"
5482
384k
        "String types (std::basic_string, and std::basic_string_view) "
5483
384k
        "need to use std::char_traits. Strings with custom Traits are "
5484
384k
        "not supported.");
5485
384k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
384k
                  "\n"
5487
384k
                  "Unsupported range type given as input to a scanning "
5488
384k
                  "function.\n"
5489
384k
                  "file_marker_found cannot be used as an "
5490
384k
                  "source range type to scn::scan.\n"
5491
384k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
384k
                  "and do not provide an explicit source range, "
5493
384k
                  "or use scn::scan with a FILE* directly.");
5494
384k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
384k
                  "\n"
5496
384k
                  "Unsupported range type given as input to a scanning "
5497
384k
                  "function.\n"
5498
384k
                  "In order to be scannable, a range needs to satisfy "
5499
384k
                  "`forward_range`. `input_range` is not sufficient.");
5500
384k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
384k
                  "\n"
5502
384k
                  "Unsupported range type given as input to a scanning "
5503
384k
                  "function.\n"
5504
384k
                  "A range needs to model forward_range and have a valid "
5505
384k
                  "character type (char or wchar_t) to be scannable.\n"
5506
384k
                  "Examples of scannable ranges are std::string, "
5507
384k
                  "std::string_view, "
5508
384k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
384k
                  "See the scnlib documentation for more details.");
5510
5511
384k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
384k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
5465
84.6k
{
5466
84.6k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
84.6k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
84.6k
                  "\n"
5470
84.6k
                  "Unsupported range type given as input to a scanning "
5471
84.6k
                  "function.\n"
5472
84.6k
                  "A range needs to have a character type (value type) "
5473
84.6k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
84.6k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
84.6k
                  "to be included.\n"
5476
84.6k
                  "See the scnlib documentation for more details.");
5477
84.6k
    static_assert(
5478
84.6k
        !std::is_same_v<T, custom_char_traits>,
5479
84.6k
        "\n"
5480
84.6k
        "Unsupported range type given as input to a scanning "
5481
84.6k
        "function.\n"
5482
84.6k
        "String types (std::basic_string, and std::basic_string_view) "
5483
84.6k
        "need to use std::char_traits. Strings with custom Traits are "
5484
84.6k
        "not supported.");
5485
84.6k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
84.6k
                  "\n"
5487
84.6k
                  "Unsupported range type given as input to a scanning "
5488
84.6k
                  "function.\n"
5489
84.6k
                  "file_marker_found cannot be used as an "
5490
84.6k
                  "source range type to scn::scan.\n"
5491
84.6k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
84.6k
                  "and do not provide an explicit source range, "
5493
84.6k
                  "or use scn::scan with a FILE* directly.");
5494
84.6k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
84.6k
                  "\n"
5496
84.6k
                  "Unsupported range type given as input to a scanning "
5497
84.6k
                  "function.\n"
5498
84.6k
                  "In order to be scannable, a range needs to satisfy "
5499
84.6k
                  "`forward_range`. `input_range` is not sufficient.");
5500
84.6k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
84.6k
                  "\n"
5502
84.6k
                  "Unsupported range type given as input to a scanning "
5503
84.6k
                  "function.\n"
5504
84.6k
                  "A range needs to model forward_range and have a valid "
5505
84.6k
                  "character type (char or wchar_t) to be scannable.\n"
5506
84.6k
                  "Examples of scannable ranges are std::string, "
5507
84.6k
                  "std::string_view, "
5508
84.6k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
84.6k
                  "See the scnlib documentation for more details.");
5510
5511
84.6k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
84.6k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5465
100k
{
5466
100k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
100k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
100k
                  "\n"
5470
100k
                  "Unsupported range type given as input to a scanning "
5471
100k
                  "function.\n"
5472
100k
                  "A range needs to have a character type (value type) "
5473
100k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
100k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
100k
                  "to be included.\n"
5476
100k
                  "See the scnlib documentation for more details.");
5477
100k
    static_assert(
5478
100k
        !std::is_same_v<T, custom_char_traits>,
5479
100k
        "\n"
5480
100k
        "Unsupported range type given as input to a scanning "
5481
100k
        "function.\n"
5482
100k
        "String types (std::basic_string, and std::basic_string_view) "
5483
100k
        "need to use std::char_traits. Strings with custom Traits are "
5484
100k
        "not supported.");
5485
100k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
100k
                  "\n"
5487
100k
                  "Unsupported range type given as input to a scanning "
5488
100k
                  "function.\n"
5489
100k
                  "file_marker_found cannot be used as an "
5490
100k
                  "source range type to scn::scan.\n"
5491
100k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
100k
                  "and do not provide an explicit source range, "
5493
100k
                  "or use scn::scan with a FILE* directly.");
5494
100k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
100k
                  "\n"
5496
100k
                  "Unsupported range type given as input to a scanning "
5497
100k
                  "function.\n"
5498
100k
                  "In order to be scannable, a range needs to satisfy "
5499
100k
                  "`forward_range`. `input_range` is not sufficient.");
5500
100k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
100k
                  "\n"
5502
100k
                  "Unsupported range type given as input to a scanning "
5503
100k
                  "function.\n"
5504
100k
                  "A range needs to model forward_range and have a valid "
5505
100k
                  "character type (char or wchar_t) to be scannable.\n"
5506
100k
                  "Examples of scannable ranges are std::string, "
5507
100k
                  "std::string_view, "
5508
100k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
100k
                  "See the scnlib documentation for more details.");
5510
5511
100k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
100k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
5465
99.7k
{
5466
99.7k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
99.7k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
99.7k
                  "\n"
5470
99.7k
                  "Unsupported range type given as input to a scanning "
5471
99.7k
                  "function.\n"
5472
99.7k
                  "A range needs to have a character type (value type) "
5473
99.7k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
99.7k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
99.7k
                  "to be included.\n"
5476
99.7k
                  "See the scnlib documentation for more details.");
5477
99.7k
    static_assert(
5478
99.7k
        !std::is_same_v<T, custom_char_traits>,
5479
99.7k
        "\n"
5480
99.7k
        "Unsupported range type given as input to a scanning "
5481
99.7k
        "function.\n"
5482
99.7k
        "String types (std::basic_string, and std::basic_string_view) "
5483
99.7k
        "need to use std::char_traits. Strings with custom Traits are "
5484
99.7k
        "not supported.");
5485
99.7k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
99.7k
                  "\n"
5487
99.7k
                  "Unsupported range type given as input to a scanning "
5488
99.7k
                  "function.\n"
5489
99.7k
                  "file_marker_found cannot be used as an "
5490
99.7k
                  "source range type to scn::scan.\n"
5491
99.7k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
99.7k
                  "and do not provide an explicit source range, "
5493
99.7k
                  "or use scn::scan with a FILE* directly.");
5494
99.7k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
99.7k
                  "\n"
5496
99.7k
                  "Unsupported range type given as input to a scanning "
5497
99.7k
                  "function.\n"
5498
99.7k
                  "In order to be scannable, a range needs to satisfy "
5499
99.7k
                  "`forward_range`. `input_range` is not sufficient.");
5500
99.7k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
99.7k
                  "\n"
5502
99.7k
                  "Unsupported range type given as input to a scanning "
5503
99.7k
                  "function.\n"
5504
99.7k
                  "A range needs to model forward_range and have a valid "
5505
99.7k
                  "character type (char or wchar_t) to be scannable.\n"
5506
99.7k
                  "Examples of scannable ranges are std::string, "
5507
99.7k
                  "std::string_view, "
5508
99.7k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
99.7k
                  "See the scnlib documentation for more details.");
5510
5511
99.7k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
99.7k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5465
99.7k
{
5466
99.7k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
99.7k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
99.7k
                  "\n"
5470
99.7k
                  "Unsupported range type given as input to a scanning "
5471
99.7k
                  "function.\n"
5472
99.7k
                  "A range needs to have a character type (value type) "
5473
99.7k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
99.7k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
99.7k
                  "to be included.\n"
5476
99.7k
                  "See the scnlib documentation for more details.");
5477
99.7k
    static_assert(
5478
99.7k
        !std::is_same_v<T, custom_char_traits>,
5479
99.7k
        "\n"
5480
99.7k
        "Unsupported range type given as input to a scanning "
5481
99.7k
        "function.\n"
5482
99.7k
        "String types (std::basic_string, and std::basic_string_view) "
5483
99.7k
        "need to use std::char_traits. Strings with custom Traits are "
5484
99.7k
        "not supported.");
5485
99.7k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
99.7k
                  "\n"
5487
99.7k
                  "Unsupported range type given as input to a scanning "
5488
99.7k
                  "function.\n"
5489
99.7k
                  "file_marker_found cannot be used as an "
5490
99.7k
                  "source range type to scn::scan.\n"
5491
99.7k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
99.7k
                  "and do not provide an explicit source range, "
5493
99.7k
                  "or use scn::scan with a FILE* directly.");
5494
99.7k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
99.7k
                  "\n"
5496
99.7k
                  "Unsupported range type given as input to a scanning "
5497
99.7k
                  "function.\n"
5498
99.7k
                  "In order to be scannable, a range needs to satisfy "
5499
99.7k
                  "`forward_range`. `input_range` is not sufficient.");
5500
99.7k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
99.7k
                  "\n"
5502
99.7k
                  "Unsupported range type given as input to a scanning "
5503
99.7k
                  "function.\n"
5504
99.7k
                  "A range needs to model forward_range and have a valid "
5505
99.7k
                  "character type (char or wchar_t) to be scannable.\n"
5506
99.7k
                  "Examples of scannable ranges are std::string, "
5507
99.7k
                  "std::string_view, "
5508
99.7k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
99.7k
                  "See the scnlib documentation for more details.");
5510
5511
99.7k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
99.7k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
5513
5514
template <
5515
    typename Range,
5516
    std::enable_if_t<
5517
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5518
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5519
auto make_scan_buffer(Range&&) = delete;
5520
}  // namespace detail
5521
5522
/////////////////////////////////////////////////////////////////
5523
// Argument type erasure
5524
/////////////////////////////////////////////////////////////////
5525
5526
namespace detail {
5527
enum class arg_type : unsigned char {
5528
    none_type,
5529
    schar_type,
5530
    short_type,
5531
    int_type,
5532
    long_type,
5533
    llong_type,
5534
    int128_type,
5535
    uchar_type,
5536
    ushort_type,
5537
    uint_type,
5538
    ulong_type,
5539
    ullong_type,
5540
    uint128_type,
5541
    bool_type,
5542
    narrow_character_type,
5543
    wide_character_type,
5544
    code_point_type,
5545
    pointer_type,
5546
    float_type,
5547
    double_type,
5548
    ldouble_type,
5549
    float16_type,
5550
    float32_type,
5551
    float64_type,
5552
    float128_type,
5553
    bfloat16_type,
5554
    // Only a single string_view_type,
5555
    // no separate narrow/wide versions,
5556
    // because only one of them is valid for each CharT
5557
    string_view_type,
5558
    narrow_string_type,
5559
    wide_string_type,
5560
    custom_type,
5561
    last_type = custom_type
5562
};
5563
5564
template <typename>
5565
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5566
5567
template <typename CharT>
5568
inline constexpr bool is_type_disabled<basic_regex_matches<CharT>> =
5569
    SCN_DISABLE_REGEX;
5570
5571
template <typename T, typename CharT>
5572
struct arg_type_constant
5573
    : std::integral_constant<arg_type, arg_type::custom_type> {
5574
    using type = T;
5575
};
5576
5577
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5578
    template <typename CharT>                             \
5579
    struct arg_type_constant<Type, CharT>                 \
5580
        : std::integral_constant<arg_type, arg_type::C> { \
5581
        using type = Type;                                \
5582
    };                                                    \
5583
    template <>                                           \
5584
    inline constexpr bool is_type_disabled<Type> = Disabled
5585
5586
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5587
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5588
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5589
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5590
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5591
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5592
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5593
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5594
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5595
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5596
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5597
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5598
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5599
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5600
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5601
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5602
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5603
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5604
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5605
SCN_TYPE_CONSTANT(std::string_view,
5606
                  string_view_type,
5607
                  SCN_DISABLE_TYPE_STRING_VIEW);
5608
SCN_TYPE_CONSTANT(std::wstring_view,
5609
                  string_view_type,
5610
                  SCN_DISABLE_TYPE_STRING_VIEW);
5611
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5612
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5613
5614
#if SCN_HAS_INT128
5615
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5616
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5617
#endif
5618
5619
#if SCN_HAS_STD_F16
5620
SCN_TYPE_CONSTANT(std::float16_t, float16_type, SCN_DISABLE_TYPE_FLOAT16);
5621
#endif
5622
#if SCN_HAS_STD_F32
5623
SCN_TYPE_CONSTANT(std::float32_t, float32_type, SCN_DISABLE_TYPE_FLOAT32);
5624
#endif
5625
#if SCN_HAS_STD_F64
5626
SCN_TYPE_CONSTANT(std::float64_t, float64_type, SCN_DISABLE_TYPE_FLOAT64);
5627
#endif
5628
#if SCN_HAS_STD_F128
5629
SCN_TYPE_CONSTANT(std::float128_t, float128_type, SCN_DISABLE_TYPE_FLOAT128);
5630
#endif
5631
#if SCN_HAS_STD_BF16
5632
SCN_TYPE_CONSTANT(std::bfloat16_t, bfloat16_type, SCN_DISABLE_TYPE_BFLOAT16);
5633
#endif
5634
5635
#undef SCN_TYPE_CONSTANT
5636
5637
struct custom_value_type {
5638
    void* value;
5639
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5640
};
5641
5642
struct unscannable {};
5643
struct unscannable_char : unscannable {};
5644
struct unscannable_const : unscannable {};
5645
struct unscannable_disabled : unscannable {
5646
    unscannable_disabled() = default;
5647
5648
    template <typename T>
5649
    constexpr unscannable_disabled(T&&)
5650
    {
5651
    }
5652
};
5653
5654
struct needs_context_tag {};
5655
5656
template <typename Context>
5657
struct context_tag {
5658
    using type = Context;
5659
};
5660
5661
template <typename T, typename Context>
5662
struct custom_wrapper {
5663
    using context_type = Context;
5664
    T& val;
5665
};
5666
5667
template <typename T, typename Scanner, typename ParseCtx>
5668
scan_expected<void> parse_custom_arg(T&, Scanner& s, ParseCtx& pctx)
5669
384k
{
5670
384k
#if SCN_HAS_EXCEPTIONS
5671
384k
    auto fmt_it = pctx.begin();
5672
384k
    try {
5673
384k
        fmt_it = s.parse(pctx);
5674
384k
    }
5675
384k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
384k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
15.4k
        return e;
5699
15.4k
    }
5700
368k
    pctx.advance_to(fmt_it);
5701
368k
    return {};
5702
384k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<tm, scn::v4::scanner<tm, char, void>, scn::v4::basic_scan_parse_context<char> >(tm&, scn::v4::scanner<tm, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5669
61.5k
{
5670
61.5k
#if SCN_HAS_EXCEPTIONS
5671
61.5k
    auto fmt_it = pctx.begin();
5672
61.5k
    try {
5673
61.5k
        fmt_it = s.parse(pctx);
5674
61.5k
    }
5675
61.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
61.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
1.71k
        return e;
5699
1.71k
    }
5700
59.8k
    pctx.advance_to(fmt_it);
5701
59.8k
    return {};
5702
61.5k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::tm_with_tz, scn::v4::scanner<scn::v4::tm_with_tz, char, void>, scn::v4::basic_scan_parse_context<char> >(scn::v4::tm_with_tz&, scn::v4::scanner<scn::v4::tm_with_tz, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5669
61.5k
{
5670
61.5k
#if SCN_HAS_EXCEPTIONS
5671
61.5k
    auto fmt_it = pctx.begin();
5672
61.5k
    try {
5673
61.5k
        fmt_it = s.parse(pctx);
5674
61.5k
    }
5675
61.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
61.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
1.71k
        return e;
5699
1.71k
    }
5700
59.8k
    pctx.advance_to(fmt_it);
5701
59.8k
    return {};
5702
61.5k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::datetime_components, scn::v4::scanner<scn::v4::datetime_components, char, void>, scn::v4::basic_scan_parse_context<char> >(scn::v4::datetime_components&, scn::v4::scanner<scn::v4::datetime_components, char, void>&, scn::v4::basic_scan_parse_context<char>&)
Line
Count
Source
5669
61.5k
{
5670
61.5k
#if SCN_HAS_EXCEPTIONS
5671
61.5k
    auto fmt_it = pctx.begin();
5672
61.5k
    try {
5673
61.5k
        fmt_it = s.parse(pctx);
5674
61.5k
    }
5675
61.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
61.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
1.71k
        return e;
5699
1.71k
    }
5700
59.8k
    pctx.advance_to(fmt_it);
5701
59.8k
    return {};
5702
61.5k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<tm, scn::v4::scanner<tm, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(tm&, scn::v4::scanner<tm, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5669
66.5k
{
5670
66.5k
#if SCN_HAS_EXCEPTIONS
5671
66.5k
    auto fmt_it = pctx.begin();
5672
66.5k
    try {
5673
66.5k
        fmt_it = s.parse(pctx);
5674
66.5k
    }
5675
66.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
66.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
3.43k
        return e;
5699
3.43k
    }
5700
63.0k
    pctx.advance_to(fmt_it);
5701
63.0k
    return {};
5702
66.5k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::tm_with_tz, scn::v4::scanner<scn::v4::tm_with_tz, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(scn::v4::tm_with_tz&, scn::v4::scanner<scn::v4::tm_with_tz, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5669
66.5k
{
5670
66.5k
#if SCN_HAS_EXCEPTIONS
5671
66.5k
    auto fmt_it = pctx.begin();
5672
66.5k
    try {
5673
66.5k
        fmt_it = s.parse(pctx);
5674
66.5k
    }
5675
66.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
66.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
3.43k
        return e;
5699
3.43k
    }
5700
63.0k
    pctx.advance_to(fmt_it);
5701
63.0k
    return {};
5702
66.5k
}
scn::v4::scan_expected<void> scn::v4::detail::parse_custom_arg<scn::v4::datetime_components, scn::v4::scanner<scn::v4::datetime_components, wchar_t, void>, scn::v4::basic_scan_parse_context<wchar_t> >(scn::v4::datetime_components&, scn::v4::scanner<scn::v4::datetime_components, wchar_t, void>&, scn::v4::basic_scan_parse_context<wchar_t>&)
Line
Count
Source
5669
66.5k
{
5670
66.5k
#if SCN_HAS_EXCEPTIONS
5671
66.5k
    auto fmt_it = pctx.begin();
5672
66.5k
    try {
5673
66.5k
        fmt_it = s.parse(pctx);
5674
66.5k
    }
5675
66.5k
    catch (const detail::scan_format_string_error_base& ex) {
5676
0
        SCN_CLANG_PUSH
5677
0
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
0
        if (const char* m = get_internal_literal_msg(ex)) {
5686
0
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
0
        }
5688
0
        thread_local std::string err_msg{};
5689
0
        err_msg = ex.what();
5690
0
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
0
                                     err_msg.c_str());
5692
0
        SCN_CLANG_POP
5693
0
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
66.5k
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
3.43k
        return e;
5699
3.43k
    }
5700
63.0k
    pctx.advance_to(fmt_it);
5701
63.0k
    return {};
5702
66.5k
}
5703
5704
class arg_value {
5705
public:
5706
    // trivial default initialization in constexpr
5707
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5708
    SCN_STD > SCN_STD_20
5709
    constexpr arg_value() = default;
5710
#else
5711
384k
    arg_value() = default;
5712
#endif
5713
5714
    template <typename T>
5715
0
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
0
    {
5717
0
    }
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<double>(double&)
5718
5719
    template <typename T, typename Context>
5720
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5721
384k
        : custom_value{static_cast<void*>(&val.val),
5722
384k
                       scan_custom_arg<T, Context>}
5723
384k
    {
5724
384k
    }
scn::v4::detail::arg_value::arg_value<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5721
61.5k
        : custom_value{static_cast<void*>(&val.val),
5722
61.5k
                       scan_custom_arg<T, Context>}
5723
61.5k
    {
5724
61.5k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5721
61.5k
        : custom_value{static_cast<void*>(&val.val),
5722
61.5k
                       scan_custom_arg<T, Context>}
5723
61.5k
    {
5724
61.5k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >)
Line
Count
Source
5721
61.5k
        : custom_value{static_cast<void*>(&val.val),
5722
61.5k
                       scan_custom_arg<T, Context>}
5723
61.5k
    {
5724
61.5k
    }
scn::v4::detail::arg_value::arg_value<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5721
66.5k
        : custom_value{static_cast<void*>(&val.val),
5722
66.5k
                       scan_custom_arg<T, Context>}
5723
66.5k
    {
5724
66.5k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5721
66.5k
        : custom_value{static_cast<void*>(&val.val),
5722
66.5k
                       scan_custom_arg<T, Context>}
5723
66.5k
    {
5724
66.5k
    }
scn::v4::detail::arg_value::arg_value<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >)
Line
Count
Source
5721
66.5k
        : custom_value{static_cast<void*>(&val.val),
5722
66.5k
                       scan_custom_arg<T, Context>}
5723
66.5k
    {
5724
66.5k
    }
5725
5726
    arg_value(unscannable);
5727
    arg_value(unscannable_char);
5728
    arg_value(unscannable_const);
5729
    arg_value(unscannable_disabled);
5730
5731
    union {
5732
        void* ref_value{nullptr};
5733
        custom_value_type custom_value;
5734
    };
5735
5736
private:
5737
    template <typename T, typename Context>
5738
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5739
384k
    {
5740
384k
        static_assert(!is_type_disabled<T>,
5741
384k
                      "Scanning of custom types is disabled by "
5742
384k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
384k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
384k
        using context_type = Context;
5746
384k
        using parse_context_type = typename context_type::parse_context_type;
5747
384k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
384k
        auto s = scanner_type{};
5750
5751
384k
        auto& arg_ref = *static_cast<T*>(arg);
5752
384k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
384k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
384k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
368k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
152k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
152k
        return {};
5760
368k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5739
61.5k
    {
5740
61.5k
        static_assert(!is_type_disabled<T>,
5741
61.5k
                      "Scanning of custom types is disabled by "
5742
61.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
61.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
61.5k
        using context_type = Context;
5746
61.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
61.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
61.5k
        auto s = scanner_type{};
5750
5751
61.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
61.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
61.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
61.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
59.8k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
35.8k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
35.8k
        return {};
5760
59.8k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5739
61.5k
    {
5740
61.5k
        static_assert(!is_type_disabled<T>,
5741
61.5k
                      "Scanning of custom types is disabled by "
5742
61.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
61.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
61.5k
        using context_type = Context;
5746
61.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
61.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
61.5k
        auto s = scanner_type{};
5750
5751
61.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
61.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
61.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
61.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
59.8k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
35.8k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
35.8k
        return {};
5760
59.8k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(void*, void*, void*)
Line
Count
Source
5739
61.5k
    {
5740
61.5k
        static_assert(!is_type_disabled<T>,
5741
61.5k
                      "Scanning of custom types is disabled by "
5742
61.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
61.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
61.5k
        using context_type = Context;
5746
61.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
61.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
61.5k
        auto s = scanner_type{};
5750
5751
61.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
61.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
61.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
61.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
59.8k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
35.8k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
35.8k
        return {};
5760
59.8k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5739
66.5k
    {
5740
66.5k
        static_assert(!is_type_disabled<T>,
5741
66.5k
                      "Scanning of custom types is disabled by "
5742
66.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
66.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
66.5k
        using context_type = Context;
5746
66.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
66.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
66.5k
        auto s = scanner_type{};
5750
5751
66.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
66.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
66.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
66.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
63.0k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
14.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
14.9k
        return {};
5760
63.0k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5739
66.5k
    {
5740
66.5k
        static_assert(!is_type_disabled<T>,
5741
66.5k
                      "Scanning of custom types is disabled by "
5742
66.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
66.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
66.5k
        using context_type = Context;
5746
66.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
66.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
66.5k
        auto s = scanner_type{};
5750
5751
66.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
66.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
66.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
66.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
63.0k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
14.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
14.9k
        return {};
5760
63.0k
    }
scn::v4::scan_expected<void> scn::v4::detail::arg_value::scan_custom_arg<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(void*, void*, void*)
Line
Count
Source
5739
66.5k
    {
5740
66.5k
        static_assert(!is_type_disabled<T>,
5741
66.5k
                      "Scanning of custom types is disabled by "
5742
66.5k
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
66.5k
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
66.5k
        using context_type = Context;
5746
66.5k
        using parse_context_type = typename context_type::parse_context_type;
5747
66.5k
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
66.5k
        auto s = scanner_type{};
5750
5751
66.5k
        auto& arg_ref = *static_cast<T*>(arg);
5752
66.5k
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
66.5k
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
66.5k
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
63.0k
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
14.9k
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
14.9k
        return {};
5760
63.0k
    }
5761
};
5762
5763
template <typename CharT>
5764
struct arg_mapper {
5765
    using char_type = CharT;
5766
    using other_char_type =
5767
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5768
5769
#define SCN_ARG_MAPPER(T)                                                    \
5770
    static auto map(T& val)                                                  \
5771
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5772
0
    {                                                                        \
5773
0
        return val;                                                          \
5774
0
    }
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(double&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5775
5776
    SCN_ARG_MAPPER(signed char)
5777
    SCN_ARG_MAPPER(short)
5778
    SCN_ARG_MAPPER(int)
5779
    SCN_ARG_MAPPER(long)
5780
    SCN_ARG_MAPPER(long long)
5781
    SCN_ARG_MAPPER(unsigned char)
5782
    SCN_ARG_MAPPER(unsigned short)
5783
    SCN_ARG_MAPPER(unsigned)
5784
    SCN_ARG_MAPPER(unsigned long)
5785
    SCN_ARG_MAPPER(unsigned long long)
5786
    SCN_ARG_MAPPER(wchar_t)
5787
    SCN_ARG_MAPPER(char32_t)
5788
    SCN_ARG_MAPPER(bool)
5789
    SCN_ARG_MAPPER(void*)
5790
    SCN_ARG_MAPPER(const void*)
5791
    SCN_ARG_MAPPER(float)
5792
    SCN_ARG_MAPPER(double)
5793
    SCN_ARG_MAPPER(long double)
5794
5795
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5796
    SCN_ARG_MAPPER(std::string)
5797
    SCN_ARG_MAPPER(std::wstring)
5798
5799
#if SCN_HAS_INT128
5800
    SCN_ARG_MAPPER(int128)
5801
    SCN_ARG_MAPPER(uint128)
5802
#endif
5803
5804
#if SCN_HAS_STD_F16
5805
    SCN_ARG_MAPPER(std::float16_t)
5806
#endif
5807
#if SCN_HAS_STD_F32
5808
    SCN_ARG_MAPPER(std::float32_t)
5809
#endif
5810
#if SCN_HAS_STD_F64
5811
    SCN_ARG_MAPPER(std::float64_t)
5812
#endif
5813
#if SCN_HAS_STD_F128
5814
    SCN_ARG_MAPPER(std::float128_t)
5815
#endif
5816
#if SCN_HAS_STD_BF16
5817
    SCN_ARG_MAPPER(std::bfloat16_t)
5818
#endif
5819
5820
#undef SCN_ARG_MAPPER
5821
5822
    static decltype(auto) map(char& val)
5823
    {
5824
        if constexpr (std::is_same_v<char_type, char> &&
5825
                      !is_type_disabled<char_type>) {
5826
            return val;
5827
        }
5828
        else if constexpr (is_type_disabled<char_type>) {
5829
            return unscannable_disabled{val};
5830
        }
5831
        else {
5832
            SCN_UNUSED(val);
5833
            return unscannable_char{};
5834
        }
5835
    }
5836
5837
#if !SCN_DISABLE_REGEX
5838
    // regex_matches treated as a custom type, not packed,
5839
    // to save bits in the packed value,
5840
    // and since regex reading isn't fast anyway
5841
    template <typename T, typename Context>
5842
    static auto map(basic_regex_matches<char_type>& val)
5843
    {
5844
        if constexpr (is_type_disabled<char_type>) {
5845
            return unscannable_disabled{val};
5846
        }
5847
        else {
5848
            return custom_wrapper<T, Context>{val};
5849
        }
5850
    }
5851
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5852
    {
5853
        return {};
5854
    }
5855
#endif
5856
5857
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5858
    {
5859
        return {};
5860
    }
5861
5862
    template <typename T,
5863
              std::enable_if_t<std::is_default_constructible_v<
5864
                  scanner<T, char_type>>>* = nullptr>
5865
    static needs_context_tag map(T&)
5866
384k
    {
5867
384k
        return {};
5868
384k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapI2tmTnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
61.5k
    {
5867
61.5k
        return {};
5868
61.5k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_10tm_with_tzETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
61.5k
    {
5867
61.5k
        return {};
5868
61.5k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_19datetime_componentsETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
61.5k
    {
5867
61.5k
        return {};
5868
61.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapI2tmTnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
66.5k
    {
5867
66.5k
        return {};
5868
66.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_10tm_with_tzETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
66.5k
    {
5867
66.5k
        return {};
5868
66.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_19datetime_componentsETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_17needs_context_tagERS9_
Line
Count
Source
5866
66.5k
    {
5867
66.5k
        return {};
5868
66.5k
    }
5869
5870
    template <typename T,
5871
              typename Context,
5872
              std::enable_if_t<std::is_default_constructible_v<
5873
                  scanner<T, char_type>>>* = nullptr>
5874
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5875
384k
    {
5876
384k
        return {val};
5877
384k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapI2tmNS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
61.5k
    {
5876
61.5k
        return {val};
5877
61.5k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_10tm_with_tzENS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
61.5k
    {
5876
61.5k
        return {val};
5877
61.5k
    }
_ZN3scn2v46detail10arg_mapperIcE3mapINS0_19datetime_componentsENS0_18basic_scan_contextINS1_16buffer_range_tagEcEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_cvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
61.5k
    {
5876
61.5k
        return {val};
5877
61.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapI2tmNS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
66.5k
    {
5876
66.5k
        return {val};
5877
66.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_10tm_with_tzENS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
66.5k
    {
5876
66.5k
        return {val};
5877
66.5k
    }
_ZN3scn2v46detail10arg_mapperIwE3mapINS0_19datetime_componentsENS0_18basic_scan_contextINS1_16buffer_range_tagEwEETnPNSt3__19enable_ifIXsr3stdE26is_default_constructible_vINS0_7scannerIT_wvEEEEvE4typeELPv0EEENS1_14custom_wrapperISC_T0_EERSC_NS1_11context_tagISJ_EE
Line
Count
Source
5875
66.5k
    {
5876
66.5k
        return {val};
5877
66.5k
    }
5878
5879
    static unscannable map(...)
5880
    {
5881
        return {};
5882
    }
5883
};
5884
5885
template <typename T, typename CharT>
5886
using mapped_type_constant = arg_type_constant<
5887
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5888
    CharT>;
5889
5890
template <typename T, typename CharT>
5891
using is_scannable = std::integral_constant<
5892
    bool,
5893
    !std::is_base_of_v<
5894
        unscannable,
5895
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5896
5897
inline constexpr std::size_t packed_arg_bits = 5;
5898
static_assert((1 << packed_arg_bits) > static_cast<int>(arg_type::last_type),
5899
              "If this fails, there are more `arg_type` values than values "
5900
              "that can fit in `packed_arg_bits`. Either something needs to be "
5901
              "removed from `arg_type` (spilling them to the stack), or "
5902
              "`packed_arg_bits` must be increased (causing the number of "
5903
              "arguments that can be packed to decrease)");
5904
inline constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5905
inline constexpr std::size_t max_packed_args =
5906
    (bits_in_sz - 2) / packed_arg_bits - 1;
5907
inline constexpr std::size_t is_unpacked_bit = std::size_t{1}
5908
                                               << (bits_in_sz - 1);
5909
inline constexpr std::size_t has_custom_types_bit = std::size_t{1}
5910
                                                    << (bits_in_sz - 2);
5911
5912
template <typename>
5913
constexpr size_t encode_types_impl()
5914
0
{
5915
0
    return 0;
5916
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5917
template <typename CharT, typename T, typename... Others>
5918
constexpr size_t encode_types_impl()
5919
0
{
5920
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5921
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5922
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5923
5924
template <typename CharT, typename... Ts>
5925
constexpr size_t encode_types()
5926
0
{
5927
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5928
0
        return sizeof...(Ts) |
5929
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5930
0
    }
5931
0
    else {
5932
0
        SCN_EXPECT(false);
5933
0
        SCN_UNREACHABLE;
5934
0
    }
5935
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5936
5937
template <typename T, typename Arg>
5938
constexpr auto make_value_impl(Arg&& arg)
5939
384k
{
5940
384k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
384k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
384k
    constexpr bool scannable_char =
5944
384k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
384k
    static_assert(scannable_char,
5946
384k
                  "Cannot scan an argument of an unsupported character "
5947
384k
                  "type (i.e. char from a wchar_t source)");
5948
5949
384k
    constexpr bool scannable_const =
5950
384k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
384k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
384k
    constexpr bool scannable_disabled =
5954
384k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
384k
    static_assert(scannable_disabled,
5956
384k
                  "Cannot scan an argument that has been disabled by "
5957
384k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
384k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
384k
    static_assert(
5961
384k
        scannable,
5962
384k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
384k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
384k
    return arg_value{arg};
5966
384k
}
auto scn::v4::detail::make_value_impl<tm, scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5939
61.5k
{
5940
61.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
61.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
61.5k
    constexpr bool scannable_char =
5944
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
61.5k
    static_assert(scannable_char,
5946
61.5k
                  "Cannot scan an argument of an unsupported character "
5947
61.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
61.5k
    constexpr bool scannable_const =
5950
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
61.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
61.5k
    constexpr bool scannable_disabled =
5954
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
61.5k
    static_assert(scannable_disabled,
5956
61.5k
                  "Cannot scan an argument that has been disabled by "
5957
61.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
61.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
61.5k
    static_assert(
5961
61.5k
        scannable,
5962
61.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
61.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
61.5k
    return arg_value{arg};
5966
61.5k
}
auto scn::v4::detail::make_value_impl<scn::v4::tm_with_tz, scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5939
61.5k
{
5940
61.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
61.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
61.5k
    constexpr bool scannable_char =
5944
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
61.5k
    static_assert(scannable_char,
5946
61.5k
                  "Cannot scan an argument of an unsupported character "
5947
61.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
61.5k
    constexpr bool scannable_const =
5950
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
61.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
61.5k
    constexpr bool scannable_disabled =
5954
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
61.5k
    static_assert(scannable_disabled,
5956
61.5k
                  "Cannot scan an argument that has been disabled by "
5957
61.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
61.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
61.5k
    static_assert(
5961
61.5k
        scannable,
5962
61.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
61.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
61.5k
    return arg_value{arg};
5966
61.5k
}
auto scn::v4::detail::make_value_impl<scn::v4::datetime_components, scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
5939
61.5k
{
5940
61.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
61.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
61.5k
    constexpr bool scannable_char =
5944
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
61.5k
    static_assert(scannable_char,
5946
61.5k
                  "Cannot scan an argument of an unsupported character "
5947
61.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
61.5k
    constexpr bool scannable_const =
5950
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
61.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
61.5k
    constexpr bool scannable_disabled =
5954
61.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
61.5k
    static_assert(scannable_disabled,
5956
61.5k
                  "Cannot scan an argument that has been disabled by "
5957
61.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
61.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
61.5k
    static_assert(
5961
61.5k
        scannable,
5962
61.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
61.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
61.5k
    return arg_value{arg};
5966
61.5k
}
auto scn::v4::detail::make_value_impl<tm, scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<tm, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5939
66.5k
{
5940
66.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
66.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
66.5k
    constexpr bool scannable_char =
5944
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
66.5k
    static_assert(scannable_char,
5946
66.5k
                  "Cannot scan an argument of an unsupported character "
5947
66.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
66.5k
    constexpr bool scannable_const =
5950
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
66.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
66.5k
    constexpr bool scannable_disabled =
5954
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
66.5k
    static_assert(scannable_disabled,
5956
66.5k
                  "Cannot scan an argument that has been disabled by "
5957
66.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
66.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
66.5k
    static_assert(
5961
66.5k
        scannable,
5962
66.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
66.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
66.5k
    return arg_value{arg};
5966
66.5k
}
auto scn::v4::detail::make_value_impl<scn::v4::tm_with_tz, scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<scn::v4::tm_with_tz, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5939
66.5k
{
5940
66.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
66.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
66.5k
    constexpr bool scannable_char =
5944
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
66.5k
    static_assert(scannable_char,
5946
66.5k
                  "Cannot scan an argument of an unsupported character "
5947
66.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
66.5k
    constexpr bool scannable_const =
5950
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
66.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
66.5k
    constexpr bool scannable_disabled =
5954
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
66.5k
    static_assert(scannable_disabled,
5956
66.5k
                  "Cannot scan an argument that has been disabled by "
5957
66.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
66.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
66.5k
    static_assert(
5961
66.5k
        scannable,
5962
66.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
66.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
66.5k
    return arg_value{arg};
5966
66.5k
}
auto scn::v4::detail::make_value_impl<scn::v4::datetime_components, scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::detail::custom_wrapper<scn::v4::datetime_components, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
5939
66.5k
{
5940
66.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
66.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
66.5k
    constexpr bool scannable_char =
5944
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
66.5k
    static_assert(scannable_char,
5946
66.5k
                  "Cannot scan an argument of an unsupported character "
5947
66.5k
                  "type (i.e. char from a wchar_t source)");
5948
5949
66.5k
    constexpr bool scannable_const =
5950
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
66.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
66.5k
    constexpr bool scannable_disabled =
5954
66.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
66.5k
    static_assert(scannable_disabled,
5956
66.5k
                  "Cannot scan an argument that has been disabled by "
5957
66.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
66.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
66.5k
    static_assert(
5961
66.5k
        scannable,
5962
66.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
66.5k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
66.5k
    return arg_value{arg};
5966
66.5k
}
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<double, double&>(double&)
5967
5968
template <typename Context, typename T>
5969
constexpr auto make_value(T& value)
5970
384k
{
5971
384k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
0
                                  needs_context_tag>) {
5975
0
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
384k
    else {
5978
384k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
384k
            value, context_tag<Context>{}));
5980
384k
    }
5981
384k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(tm&)
Line
Count
Source
5970
61.5k
{
5971
61.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
61.5k
    else {
5978
61.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
61.5k
            value, context_tag<Context>{}));
5980
61.5k
    }
5981
61.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5970
61.5k
{
5971
61.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
61.5k
    else {
5978
61.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
61.5k
            value, context_tag<Context>{}));
5980
61.5k
    }
5981
61.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5970
61.5k
{
5971
61.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
61.5k
    else {
5978
61.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
61.5k
            value, context_tag<Context>{}));
5980
61.5k
    }
5981
61.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(tm&)
Line
Count
Source
5970
66.5k
{
5971
66.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
66.5k
    else {
5978
66.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
66.5k
            value, context_tag<Context>{}));
5980
66.5k
    }
5981
66.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
5970
66.5k
{
5971
66.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
66.5k
    else {
5978
66.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
66.5k
            value, context_tag<Context>{}));
5980
66.5k
    }
5981
66.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
5970
66.5k
{
5971
66.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
                                  needs_context_tag>) {
5975
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
66.5k
    else {
5978
66.5k
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
66.5k
            value, context_tag<Context>{}));
5980
66.5k
    }
5981
66.5k
}
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5982
5983
template <typename... Args>
5984
constexpr bool check_scan_arg_types()
5985
384k
{
5986
384k
    constexpr bool default_constructible_constraint =
5987
384k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
384k
    static_assert(default_constructible_constraint,
5989
384k
                  "Scan argument types must be default constructible");
5990
5991
384k
    constexpr bool destructible_constraint =
5992
384k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
384k
    static_assert(destructible_constraint,
5994
384k
                  "Scan argument types must be Destructible");
5995
5996
384k
    constexpr bool non_reference_constraint =
5997
384k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
384k
    static_assert(non_reference_constraint,
5999
384k
                  "Scan argument types must not be references");
6000
6001
384k
    constexpr bool movable_constraint =
6002
384k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
384k
    static_assert(movable_constraint,
6004
384k
                  "Scan argument types must be move constructible");
6005
6006
384k
    return default_constructible_constraint && destructible_constraint &&
6007
384k
           non_reference_constraint && movable_constraint;
6008
384k
}
bool scn::v4::detail::check_scan_arg_types<tm>()
Line
Count
Source
5985
128k
{
5986
128k
    constexpr bool default_constructible_constraint =
5987
128k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
128k
    static_assert(default_constructible_constraint,
5989
128k
                  "Scan argument types must be default constructible");
5990
5991
128k
    constexpr bool destructible_constraint =
5992
128k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
128k
    static_assert(destructible_constraint,
5994
128k
                  "Scan argument types must be Destructible");
5995
5996
128k
    constexpr bool non_reference_constraint =
5997
128k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
128k
    static_assert(non_reference_constraint,
5999
128k
                  "Scan argument types must not be references");
6000
6001
128k
    constexpr bool movable_constraint =
6002
128k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
128k
    static_assert(movable_constraint,
6004
128k
                  "Scan argument types must be move constructible");
6005
6006
128k
    return default_constructible_constraint && destructible_constraint &&
6007
128k
           non_reference_constraint && movable_constraint;
6008
128k
}
bool scn::v4::detail::check_scan_arg_types<scn::v4::tm_with_tz>()
Line
Count
Source
5985
128k
{
5986
128k
    constexpr bool default_constructible_constraint =
5987
128k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
128k
    static_assert(default_constructible_constraint,
5989
128k
                  "Scan argument types must be default constructible");
5990
5991
128k
    constexpr bool destructible_constraint =
5992
128k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
128k
    static_assert(destructible_constraint,
5994
128k
                  "Scan argument types must be Destructible");
5995
5996
128k
    constexpr bool non_reference_constraint =
5997
128k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
128k
    static_assert(non_reference_constraint,
5999
128k
                  "Scan argument types must not be references");
6000
6001
128k
    constexpr bool movable_constraint =
6002
128k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
128k
    static_assert(movable_constraint,
6004
128k
                  "Scan argument types must be move constructible");
6005
6006
128k
    return default_constructible_constraint && destructible_constraint &&
6007
128k
           non_reference_constraint && movable_constraint;
6008
128k
}
bool scn::v4::detail::check_scan_arg_types<scn::v4::datetime_components>()
Line
Count
Source
5985
128k
{
5986
128k
    constexpr bool default_constructible_constraint =
5987
128k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
128k
    static_assert(default_constructible_constraint,
5989
128k
                  "Scan argument types must be default constructible");
5990
5991
128k
    constexpr bool destructible_constraint =
5992
128k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
128k
    static_assert(destructible_constraint,
5994
128k
                  "Scan argument types must be Destructible");
5995
5996
128k
    constexpr bool non_reference_constraint =
5997
128k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
128k
    static_assert(non_reference_constraint,
5999
128k
                  "Scan argument types must not be references");
6000
6001
128k
    constexpr bool movable_constraint =
6002
128k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
128k
    static_assert(movable_constraint,
6004
128k
                  "Scan argument types must be move constructible");
6005
6006
128k
    return default_constructible_constraint && destructible_constraint &&
6007
128k
           non_reference_constraint && movable_constraint;
6008
128k
}
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<double>()
6009
6010
enum class scan_arg_store_kind {
6011
    // only built-in types (no custom types), packed
6012
    builtin,
6013
6014
    packed,
6015
    unpacked
6016
};
6017
6018
template <typename Context, typename T>
6019
constexpr basic_scan_arg<Context> make_arg(T& value) noexcept
6020
15.4k
{
6021
15.4k
    check_scan_arg_types<T>();
6022
6023
15.4k
    basic_scan_arg<Context> arg;
6024
15.4k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
15.4k
    arg.m_value = make_value<Context>(value);
6026
15.4k
    return arg;
6027
15.4k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(tm&)
Line
Count
Source
6020
1.71k
{
6021
1.71k
    check_scan_arg_types<T>();
6022
6023
1.71k
    basic_scan_arg<Context> arg;
6024
1.71k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
1.71k
    arg.m_value = make_value<Context>(value);
6026
1.71k
    return arg;
6027
1.71k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6020
1.71k
{
6021
1.71k
    check_scan_arg_types<T>();
6022
6023
1.71k
    basic_scan_arg<Context> arg;
6024
1.71k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
1.71k
    arg.m_value = make_value<Context>(value);
6026
1.71k
    return arg;
6027
1.71k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6020
1.71k
{
6021
1.71k
    check_scan_arg_types<T>();
6022
6023
1.71k
    basic_scan_arg<Context> arg;
6024
1.71k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
1.71k
    arg.m_value = make_value<Context>(value);
6026
1.71k
    return arg;
6027
1.71k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(tm&)
Line
Count
Source
6020
3.43k
{
6021
3.43k
    check_scan_arg_types<T>();
6022
6023
3.43k
    basic_scan_arg<Context> arg;
6024
3.43k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
3.43k
    arg.m_value = make_value<Context>(value);
6026
3.43k
    return arg;
6027
3.43k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6020
3.43k
{
6021
3.43k
    check_scan_arg_types<T>();
6022
6023
3.43k
    basic_scan_arg<Context> arg;
6024
3.43k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
3.43k
    arg.m_value = make_value<Context>(value);
6026
3.43k
    return arg;
6027
3.43k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6020
3.43k
{
6021
3.43k
    check_scan_arg_types<T>();
6022
6023
3.43k
    basic_scan_arg<Context> arg;
6024
3.43k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
3.43k
    arg.m_value = make_value<Context>(value);
6026
3.43k
    return arg;
6027
3.43k
}
6028
6029
template <scan_arg_store_kind Kind,
6030
          typename Context,
6031
          arg_type,
6032
          typename T,
6033
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
6034
constexpr void* make_arg(T& value) noexcept
6035
0
{
6036
0
    return make_value<Context>(value).ref_value;
6037
0
}
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6038
template <scan_arg_store_kind Kind,
6039
          typename Context,
6040
          arg_type,
6041
          typename T,
6042
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
6043
constexpr arg_value make_arg(T& value) noexcept
6044
368k
{
6045
368k
    return make_value<Context>(value);
6046
368k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, tm, void>(tm&)
Line
Count
Source
6044
59.8k
{
6045
59.8k
    return make_value<Context>(value);
6046
59.8k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, scn::v4::tm_with_tz, void>(scn::v4::tm_with_tz&)
Line
Count
Source
6044
59.8k
{
6045
59.8k
    return make_value<Context>(value);
6046
59.8k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)29, scn::v4::datetime_components, void>(scn::v4::datetime_components&)
Line
Count
Source
6044
59.8k
{
6045
59.8k
    return make_value<Context>(value);
6046
59.8k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, tm, void>(tm&)
Line
Count
Source
6044
63.0k
{
6045
63.0k
    return make_value<Context>(value);
6046
63.0k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, scn::v4::tm_with_tz, void>(scn::v4::tm_with_tz&)
Line
Count
Source
6044
63.0k
{
6045
63.0k
    return make_value<Context>(value);
6046
63.0k
}
scn::v4::detail::arg_value scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)1, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)29, scn::v4::datetime_components, void>(scn::v4::datetime_components&)
Line
Count
Source
6044
63.0k
{
6045
63.0k
    return make_value<Context>(value);
6046
63.0k
}
6047
template <scan_arg_store_kind Kind,
6048
          typename Context,
6049
          arg_type,
6050
          typename T,
6051
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
6052
constexpr basic_scan_arg<Context> make_arg(T&& value) noexcept
6053
{
6054
    return make_arg<Context>(SCN_FWD(value));
6055
}
6056
6057
template <typename Context>
6058
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg) noexcept;
6059
template <typename Context>
6060
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg) noexcept;
6061
6062
template <typename Context>
6063
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg) noexcept;
6064
template <typename Context>
6065
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg) noexcept;
6066
6067
template <typename Visitor, typename Context>
6068
constexpr decltype(auto) visit_impl(Visitor&& vis,
6069
                                    basic_scan_arg<Context>& arg);
6070
}  // namespace detail
6071
6072
/**
6073
 * Type-erased scanning argument.
6074
 *
6075
 * Contains a pointer to the value contained in a `scan_arg_store`.
6076
 */
6077
template <typename Context>
6078
class basic_scan_arg {
6079
public:
6080
    /**
6081
     * Enables scanning of a user-defined type.
6082
     *
6083
     * Contains a pointer to the value contained in a `scan_arg_store`, and
6084
     * a callback for parsing the format string, and scanning the value.
6085
     *
6086
     * \see scn::visit_scan_arg
6087
     */
6088
    class handle {
6089
    public:
6090
        /**
6091
         * Parse the format string in `parse_ctx`, and scan the value from
6092
         * `ctx`.
6093
         *
6094
         * \return Any error returned by the scanner
6095
         */
6096
        scan_expected<void> scan(
6097
            typename Context::parse_context_type& parse_ctx,
6098
            Context& ctx) const
6099
384k
        {
6100
384k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6101
384k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Line
Count
Source
6099
184k
        {
6100
184k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6101
184k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
Line
Count
Source
6099
199k
        {
6100
199k
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6101
199k
        }
6102
6103
    private:
6104
        explicit handle(detail::custom_value_type custom) noexcept
6105
384k
            : m_custom(custom)
6106
384k
        {
6107
384k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Line
Count
Source
6105
184k
            : m_custom(custom)
6106
184k
        {
6107
184k
        }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
Line
Count
Source
6105
199k
            : m_custom(custom)
6106
199k
        {
6107
199k
        }
6108
6109
        template <typename Visitor, typename C>
6110
        friend constexpr decltype(auto) detail::visit_impl(
6111
            Visitor&& vis,
6112
            basic_scan_arg<C>& arg);
6113
6114
        detail::custom_value_type m_custom;
6115
    };
6116
6117
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
6118
384k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
6118
184k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
6118
199k
    constexpr basic_scan_arg() = default;
6119
6120
    /**
6121
     * @return `true` if `*this` contains an argument
6122
     */
6123
    constexpr explicit operator bool() const noexcept
6124
753k
    {
6125
753k
        return m_type != detail::arg_type::none_type;
6126
753k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
6124
364k
    {
6125
364k
        return m_type != detail::arg_type::none_type;
6126
364k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
6124
388k
    {
6125
388k
        return m_type != detail::arg_type::none_type;
6126
388k
    }
6127
6128
    /**
6129
     * Visit a `basic_scan_arg` with `Visitor`.
6130
     * Calls `vis` with the value stored in `*this`.
6131
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
6132
     *
6133
     * \return `vis(x)`, where `x` is either a reference to the value contained
6134
     * in `*this`, or a `basic_scan_arg::handle`.
6135
     */
6136
    template <typename Visitor>
6137
    constexpr decltype(auto) visit(Visitor&& vis);
6138
6139
    template <typename R, typename Visitor>
6140
    constexpr R visit(Visitor&& vis);
6141
6142
private:
6143
    template <typename ContextType, typename T>
6144
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(
6145
        T& value) noexcept;
6146
6147
    template <typename C>
6148
    friend constexpr detail::arg_type& detail::get_arg_type(
6149
        basic_scan_arg<C>& arg) noexcept;
6150
    template <typename C>
6151
    friend constexpr detail::arg_type detail::get_arg_type(
6152
        const basic_scan_arg<C>& arg) noexcept;
6153
6154
    template <typename C>
6155
    friend constexpr detail::arg_value& detail::get_arg_value(
6156
        basic_scan_arg<C>& arg) noexcept;
6157
    template <typename C>
6158
    friend constexpr detail::arg_value detail::get_arg_value(
6159
        const basic_scan_arg<C>& arg) noexcept;
6160
6161
    friend class basic_scan_args<Context>;
6162
6163
    detail::arg_value m_value{};
6164
    detail::arg_type m_type{detail::arg_type::none_type};
6165
};
6166
6167
namespace detail {
6168
template <typename Context>
6169
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg) noexcept
6170
753k
{
6171
753k
    return arg.m_type;
6172
753k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6170
364k
{
6171
364k
    return arg.m_type;
6172
364k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6170
388k
{
6171
388k
    return arg.m_type;
6172
388k
}
6173
6174
template <typename Context>
6175
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg) noexcept
6176
{
6177
    return arg.m_type;
6178
}
6179
6180
template <typename Context>
6181
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg) noexcept
6182
384k
{
6183
384k
    return arg.m_value;
6184
384k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6182
184k
{
6183
184k
    return arg.m_value;
6184
184k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6182
199k
{
6183
199k
    return arg.m_value;
6184
199k
}
6185
6186
template <typename Context>
6187
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg) noexcept
6188
{
6189
    return arg.m_value;
6190
}
6191
6192
template <typename CharT>
6193
constexpr bool all_types_builtin() noexcept
6194
0
{
6195
0
    return true;
6196
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6197
template <typename CharT, typename T, typename... Args>
6198
constexpr bool all_types_builtin() noexcept
6199
0
{
6200
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6201
0
           all_types_builtin<CharT, Args...>();
6202
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, tm>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, scn::v4::datetime_components>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, tm>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
6203
6204
template <typename CharT, typename... Args>
6205
constexpr scan_arg_store_kind determine_arg_store_kind() noexcept
6206
0
{
6207
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6208
0
        return scan_arg_store_kind::unpacked;
6209
0
    }
6210
0
#if !(SCN_CLANG && SCN_APPLE)
6211
0
    // This doesn't work on Apple Clang. I don't know why
6212
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6213
0
        return scan_arg_store_kind::builtin;
6214
0
    }
6215
0
#endif
6216
0
    return scan_arg_store_kind::packed;
6217
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, tm>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, scn::v4::tm_with_tz>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, scn::v4::datetime_components>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, tm>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6218
6219
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6220
constexpr size_t compute_arg_store_desc() noexcept
6221
0
{
6222
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6223
0
        return encode_types<CharT, Args...>();
6224
0
    }
6225
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6226
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6227
0
    }
6228
0
    else {
6229
0
        return sizeof...(Args) | is_unpacked_bit;
6230
0
    }
6231
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, char, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, tm>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, scn::v4::tm_with_tz>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)1, wchar_t, scn::v4::datetime_components>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6232
6233
template <typename Context, typename... Args>
6234
class scan_arg_store {
6235
public:
6236
    static constexpr scan_arg_store_kind kind =
6237
        determine_arg_store_kind<typename Context::char_type, Args...>();
6238
    static constexpr size_t desc =
6239
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6240
6241
    using argptr_type = std::conditional_t<
6242
        kind == scan_arg_store_kind::builtin,
6243
        void*,
6244
        std::conditional_t<kind == scan_arg_store_kind::packed,
6245
                           arg_value,
6246
                           basic_scan_arg<Context>>>;
6247
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6248
6249
    constexpr explicit scan_arg_store(std::tuple<Args...>& a) noexcept
6250
368k
        : args(std::apply(make_argptrs<Args...>, a))
6251
368k
    {
6252
368k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>::scan_arg_store(std::__1::tuple<tm>&)
Line
Count
Source
6250
59.8k
        : args(std::apply(make_argptrs<Args...>, a))
6251
59.8k
    {
6252
59.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>::scan_arg_store(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6250
59.8k
        : args(std::apply(make_argptrs<Args...>, a))
6251
59.8k
    {
6252
59.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>::scan_arg_store(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6250
59.8k
        : args(std::apply(make_argptrs<Args...>, a))
6251
59.8k
    {
6252
59.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>::scan_arg_store(std::__1::tuple<tm>&)
Line
Count
Source
6250
63.0k
        : args(std::apply(make_argptrs<Args...>, a))
6251
63.0k
    {
6252
63.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>::scan_arg_store(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6250
63.0k
        : args(std::apply(make_argptrs<Args...>, a))
6251
63.0k
    {
6252
63.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>::scan_arg_store(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6250
63.0k
        : args(std::apply(make_argptrs<Args...>, a))
6251
63.0k
    {
6252
63.0k
    }
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6253
6254
    argptrs_type args;
6255
6256
private:
6257
    template <typename... A>
6258
    static constexpr argptrs_type make_argptrs(A&... args) noexcept
6259
368k
    {
6260
368k
        return {detail::make_arg<
6261
368k
            kind, Context,
6262
368k
            mapped_type_constant<remove_cvref_t<A>,
6263
368k
                                 typename Context::char_type>::value>(args)...};
6264
368k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>::make_argptrs<tm>(tm&)
Line
Count
Source
6259
59.8k
    {
6260
59.8k
        return {detail::make_arg<
6261
59.8k
            kind, Context,
6262
59.8k
            mapped_type_constant<remove_cvref_t<A>,
6263
59.8k
                                 typename Context::char_type>::value>(args)...};
6264
59.8k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>::make_argptrs<scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6259
59.8k
    {
6260
59.8k
        return {detail::make_arg<
6261
59.8k
            kind, Context,
6262
59.8k
            mapped_type_constant<remove_cvref_t<A>,
6263
59.8k
                                 typename Context::char_type>::value>(args)...};
6264
59.8k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>::make_argptrs<scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6259
59.8k
    {
6260
59.8k
        return {detail::make_arg<
6261
59.8k
            kind, Context,
6262
59.8k
            mapped_type_constant<remove_cvref_t<A>,
6263
59.8k
                                 typename Context::char_type>::value>(args)...};
6264
59.8k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>::make_argptrs<tm>(tm&)
Line
Count
Source
6259
63.0k
    {
6260
63.0k
        return {detail::make_arg<
6261
63.0k
            kind, Context,
6262
63.0k
            mapped_type_constant<remove_cvref_t<A>,
6263
63.0k
                                 typename Context::char_type>::value>(args)...};
6264
63.0k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>::make_argptrs<scn::v4::tm_with_tz>(scn::v4::tm_with_tz&)
Line
Count
Source
6259
63.0k
    {
6260
63.0k
        return {detail::make_arg<
6261
63.0k
            kind, Context,
6262
63.0k
            mapped_type_constant<remove_cvref_t<A>,
6263
63.0k
                                 typename Context::char_type>::value>(args)...};
6264
63.0k
    }
std::__1::array<scn::v4::detail::arg_value, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>::make_argptrs<scn::v4::datetime_components>(scn::v4::datetime_components&)
Line
Count
Source
6259
63.0k
    {
6260
63.0k
        return {detail::make_arg<
6261
63.0k
            kind, Context,
6262
63.0k
            mapped_type_constant<remove_cvref_t<A>,
6263
63.0k
                                 typename Context::char_type>::value>(args)...};
6264
63.0k
    }
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6265
};
6266
6267
}  // namespace detail
6268
6269
/**
6270
 * Creates a type-erased argument store over the arguments in `values`.
6271
 */
6272
template <typename Context = scan_context, typename... Args>
6273
constexpr auto make_scan_args(std::tuple<Args...>& values)
6274
368k
{
6275
368k
    detail::check_scan_arg_types<Args...>();
6276
368k
    return detail::scan_arg_store<Context, Args...>(values);
6277
368k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm>(std::__1::tuple<tm>&)
Line
Count
Source
6274
59.8k
{
6275
59.8k
    detail::check_scan_arg_types<Args...>();
6276
59.8k
    return detail::scan_arg_store<Context, Args...>(values);
6277
59.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz>(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6274
59.8k
{
6275
59.8k
    detail::check_scan_arg_types<Args...>();
6276
59.8k
    return detail::scan_arg_store<Context, Args...>(values);
6277
59.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components>(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6274
59.8k
{
6275
59.8k
    detail::check_scan_arg_types<Args...>();
6276
59.8k
    return detail::scan_arg_store<Context, Args...>(values);
6277
59.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm>(std::__1::tuple<tm>&)
Line
Count
Source
6274
63.0k
{
6275
63.0k
    detail::check_scan_arg_types<Args...>();
6276
63.0k
    return detail::scan_arg_store<Context, Args...>(values);
6277
63.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz>(std::__1::tuple<scn::v4::tm_with_tz>&)
Line
Count
Source
6274
63.0k
{
6275
63.0k
    detail::check_scan_arg_types<Args...>();
6276
63.0k
    return detail::scan_arg_store<Context, Args...>(values);
6277
63.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components>(std::__1::tuple<scn::v4::datetime_components>&)
Line
Count
Source
6274
63.0k
{
6275
63.0k
    detail::check_scan_arg_types<Args...>();
6276
63.0k
    return detail::scan_arg_store<Context, Args...>(values);
6277
63.0k
}
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6278
6279
template <typename... Args>
6280
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6281
{
6282
    detail::check_scan_arg_types<Args...>();
6283
    return detail::scan_arg_store<wscan_context, Args...>(values);
6284
}
6285
6286
/**
6287
 * A view over a collection of scanning arguments (`scan_arg_store`).
6288
 *
6289
 * Passed to `scn::vscan`, where it's automatically constructed from a
6290
 * `scan_arg_store`.
6291
 */
6292
template <typename Context>
6293
class basic_scan_args {
6294
public:
6295
15.4k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Line
Count
Source
6295
5.15k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
Line
Count
Source
6295
10.3k
    constexpr basic_scan_args() = default;
6296
6297
    template <typename... Args>
6298
    SCN_IMPLICIT constexpr basic_scan_args(
6299
        const detail::scan_arg_store<Context, Args...>& store) noexcept
6300
368k
        : basic_scan_args(store.desc, store.args.data())
6301
368k
    {
6302
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<tm>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, tm> const&)
Line
Count
Source
6300
59.8k
        : basic_scan_args(store.desc, store.args.data())
6301
59.8k
    {
6302
59.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<scn::v4::tm_with_tz>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::tm_with_tz> const&)
Line
Count
Source
6300
59.8k
        : basic_scan_args(store.desc, store.args.data())
6301
59.8k
    {
6302
59.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<scn::v4::datetime_components>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, scn::v4::datetime_components> const&)
Line
Count
Source
6300
59.8k
        : basic_scan_args(store.desc, store.args.data())
6301
59.8k
    {
6302
59.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<tm>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, tm> const&)
Line
Count
Source
6300
63.0k
        : basic_scan_args(store.desc, store.args.data())
6301
63.0k
    {
6302
63.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<scn::v4::tm_with_tz>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::tm_with_tz> const&)
Line
Count
Source
6300
63.0k
        : basic_scan_args(store.desc, store.args.data())
6301
63.0k
    {
6302
63.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<scn::v4::datetime_components>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, scn::v4::datetime_components> const&)
Line
Count
Source
6300
63.0k
        : basic_scan_args(store.desc, store.args.data())
6301
63.0k
    {
6302
63.0k
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
6303
6304
    /**
6305
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6306
     * there's no argument at index `id`.
6307
     */
6308
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6309
368k
    {
6310
368k
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
368k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
368k
        const auto t = type(id);
6322
368k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
368k
        basic_scan_arg<Context> arg;
6327
368k
        arg.m_type = t;
6328
368k
        if (is_only_builtin()) {
6329
0
            arg.m_value.ref_value = m_builtin_values[id];
6330
0
        }
6331
368k
        else {
6332
368k
            arg.m_value = m_values[id];
6333
368k
        }
6334
368k
        return arg;
6335
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6309
179k
    {
6310
179k
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
179k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
179k
        const auto t = type(id);
6322
179k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
179k
        basic_scan_arg<Context> arg;
6327
179k
        arg.m_type = t;
6328
179k
        if (is_only_builtin()) {
6329
0
            arg.m_value.ref_value = m_builtin_values[id];
6330
0
        }
6331
179k
        else {
6332
179k
            arg.m_value = m_values[id];
6333
179k
        }
6334
179k
        return arg;
6335
179k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6309
189k
    {
6310
189k
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
189k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
189k
        const auto t = type(id);
6322
189k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
189k
        basic_scan_arg<Context> arg;
6327
189k
        arg.m_type = t;
6328
189k
        if (is_only_builtin()) {
6329
0
            arg.m_value.ref_value = m_builtin_values[id];
6330
0
        }
6331
189k
        else {
6332
189k
            arg.m_value = m_values[id];
6333
189k
        }
6334
189k
        return arg;
6335
189k
    }
6336
6337
    /**
6338
     * \return Number of arguments in `*this`.
6339
     */
6340
    SCN_NODISCARD constexpr std::size_t size() const
6341
368k
    {
6342
368k
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
368k
        return static_cast<std::size_t>(m_desc &
6347
368k
                                        ((1 << detail::packed_arg_bits) - 1));
6348
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6341
179k
    {
6342
179k
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
179k
        return static_cast<std::size_t>(m_desc &
6347
179k
                                        ((1 << detail::packed_arg_bits) - 1));
6348
179k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6341
189k
    {
6342
189k
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
189k
        return static_cast<std::size_t>(m_desc &
6347
189k
                                        ((1 << detail::packed_arg_bits) - 1));
6348
189k
    }
6349
6350
private:
6351
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6352
0
        : m_desc(desc), m_builtin_values(data)
6353
0
    {
6354
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
6355
    constexpr explicit basic_scan_args(size_t desc,
6356
                                       const detail::arg_value* data)
6357
368k
        : m_desc(desc), m_values(data)
6358
368k
    {
6359
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, scn::v4::detail::arg_value const*)
Line
Count
Source
6357
179k
        : m_desc(desc), m_values(data)
6358
179k
    {
6359
179k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, scn::v4::detail::arg_value const*)
Line
Count
Source
6357
189k
        : m_desc(desc), m_values(data)
6358
189k
    {
6359
189k
    }
6360
    constexpr explicit basic_scan_args(size_t desc,
6361
                                       const basic_scan_arg<Context>* data)
6362
        : m_desc(desc), m_args(data)
6363
    {
6364
    }
6365
6366
    SCN_NODISCARD constexpr bool is_packed() const
6367
737k
    {
6368
737k
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
737k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6367
359k
    {
6368
359k
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
359k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6367
378k
    {
6368
378k
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
378k
    }
6370
    SCN_NODISCARD constexpr bool is_only_builtin() const
6371
368k
    {
6372
368k
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6371
179k
    {
6372
179k
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
179k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6371
189k
    {
6372
189k
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
189k
    }
6374
6375
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6376
368k
    {
6377
        // First (0th) index is size, types start after that
6378
368k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
368k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
368k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
368k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6376
179k
    {
6377
        // First (0th) index is size, types start after that
6378
179k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
179k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
179k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
179k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6376
189k
    {
6377
        // First (0th) index is size, types start after that
6378
189k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
189k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
189k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
189k
    }
6382
6383
    SCN_NODISCARD constexpr std::size_t max_size() const
6384
0
    {
6385
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6386
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6387
0
                                          ~detail::has_custom_types_bit);
6388
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6389
6390
    size_t m_desc{0};
6391
    union {
6392
        void* const* m_builtin_values;
6393
        const detail::arg_value* m_values;
6394
        const basic_scan_arg<Context>* m_args{nullptr};
6395
    };
6396
};
6397
6398
template <typename Context, typename... Args>
6399
basic_scan_args(const detail::scan_arg_store<Context, Args...>&)
6400
    -> basic_scan_args<Context>;
6401
6402
/////////////////////////////////////////////////////////////////
6403
// scan_parse_context
6404
/////////////////////////////////////////////////////////////////
6405
6406
template <typename T>
6407
struct source_tag_type {
6408
    using type = T;
6409
};
6410
template <typename T>
6411
inline constexpr auto source_tag = source_tag_type<T>{};
6412
6413
/**
6414
 * Format string parsing context, wrapping the format string being parsed,
6415
 * and a counter for argument indexing.
6416
 *
6417
 * \ingroup ctx
6418
 */
6419
template <typename CharT>
6420
class basic_scan_parse_context {
6421
public:
6422
    using char_type = CharT;
6423
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6424
    using const_iterator = iterator;
6425
6426
    /**
6427
     * Construct a `basic_scan_parse_context` over a format string `format`.
6428
     */
6429
    [[deprecated(
6430
        "Use the source_tag constructor instead,"
6431
        "to get more compile-time checking")]]
6432
    explicit constexpr basic_scan_parse_context(
6433
        std::basic_string_view<CharT> format,
6434
        int next_arg_id = 0)
6435
        : m_format{format}, m_next_arg_id{next_arg_id}
6436
    {
6437
    }
6438
6439
    template <typename Source>
6440
    explicit constexpr basic_scan_parse_context(
6441
        source_tag_type<Source>,
6442
        std::basic_string_view<CharT> format,
6443
        int next_arg_id = 0)
6444
384k
        : m_format{format},
6445
384k
          m_next_arg_id{next_arg_id},
6446
384k
          m_is_contiguous(ranges::range<Source> &&
6447
384k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
384k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
384k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
384k
    {
6452
384k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
2.57k
        : m_format{format},
6445
2.57k
          m_next_arg_id{next_arg_id},
6446
2.57k
          m_is_contiguous(ranges::range<Source> &&
6447
2.57k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
2.57k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
2.57k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
2.57k
    {
6452
2.57k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
2.57k
        : m_format{format},
6445
2.57k
          m_next_arg_id{next_arg_id},
6446
2.57k
          m_is_contiguous(ranges::range<Source> &&
6447
2.57k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
2.57k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
2.57k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
2.57k
    {
6452
2.57k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
82.0k
        : m_format{format},
6445
82.0k
          m_next_arg_id{next_arg_id},
6446
82.0k
          m_is_contiguous(ranges::range<Source> &&
6447
82.0k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
82.0k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
82.0k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
82.0k
    {
6452
82.0k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
97.5k
        : m_format{format},
6445
97.5k
          m_next_arg_id{next_arg_id},
6446
97.5k
          m_is_contiguous(ranges::range<Source> &&
6447
97.5k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
97.5k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
97.5k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
97.5k
    {
6452
97.5k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
5.15k
        : m_format{format},
6445
5.15k
          m_next_arg_id{next_arg_id},
6446
5.15k
          m_is_contiguous(ranges::range<Source> &&
6447
5.15k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
5.15k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
5.15k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
5.15k
    {
6452
5.15k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
94.6k
        : m_format{format},
6445
94.6k
          m_next_arg_id{next_arg_id},
6446
94.6k
          m_is_contiguous(ranges::range<Source> &&
6447
94.6k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
94.6k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
94.6k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
94.6k
    {
6452
94.6k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
5.15k
        : m_format{format},
6445
5.15k
          m_next_arg_id{next_arg_id},
6446
5.15k
          m_is_contiguous(ranges::range<Source> &&
6447
5.15k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
5.15k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
5.15k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
5.15k
    {
6452
5.15k
    }
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
94.6k
        : m_format{format},
6445
94.6k
          m_next_arg_id{next_arg_id},
6446
94.6k
          m_is_contiguous(ranges::range<Source> &&
6447
94.6k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
94.6k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
94.6k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
94.6k
    {
6452
94.6k
    }
6453
6454
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6455
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6456
        delete;
6457
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6458
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6459
    ~basic_scan_parse_context() = default;
6460
6461
    /// Returns an iterator pointing to the beginning of the format string
6462
    constexpr auto begin() const noexcept
6463
1.87M
    {
6464
1.87M
        return m_format.data();
6465
1.87M
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6463
908k
    {
6464
908k
        return m_format.data();
6465
908k
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6463
966k
    {
6464
966k
        return m_format.data();
6465
966k
    }
6466
    /// Returns an iterator pointing to the end of the format string
6467
    constexpr auto end() const noexcept
6468
384k
    {
6469
384k
        return m_format.data() + m_format.size();
6470
384k
    }
scn::v4::basic_scan_parse_context<char>::end() const
Line
Count
Source
6468
184k
    {
6469
184k
        return m_format.data() + m_format.size();
6470
184k
    }
scn::v4::basic_scan_parse_context<wchar_t>::end() const
Line
Count
Source
6468
199k
    {
6469
199k
        return m_format.data() + m_format.size();
6470
199k
    }
6471
6472
    /// Advance the beginning of the format string to `it`
6473
    constexpr void advance_to(iterator it)
6474
737k
    {
6475
737k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
737k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6474
359k
    {
6475
359k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
359k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6474
378k
    {
6475
378k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
378k
    }
6477
6478
    constexpr size_t next_arg_id()
6479
368k
    {
6480
368k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
368k
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
368k
        do_check_arg_id(id);
6488
368k
        return id;
6489
368k
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6479
179k
    {
6480
179k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
179k
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
179k
        do_check_arg_id(id);
6488
179k
        return id;
6489
179k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6479
189k
    {
6480
189k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
189k
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
189k
        do_check_arg_id(id);
6488
189k
        return id;
6489
189k
    }
6490
6491
    constexpr void check_arg_id(std::size_t id)
6492
0
    {
6493
0
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6494
0
            on_error(
6495
0
                "Cannot switch from manual to automatic argument indexing");
6496
0
            return;
6497
0
        }
6498
0
        m_next_arg_id = -1;
6499
0
        do_check_arg_id(id);
6500
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
6501
6502
    /**
6503
     * Fail format string parsing with the message `msg`.
6504
     * Calling this member function is not a constant expression,
6505
     * causing a compile-time error, if compile-time format string checking is
6506
     * enabled.
6507
     */
6508
    scan_error on_error(const char* msg)
6509
15.4k
    {
6510
15.4k
        m_error = unexpected(detail::handle_error(
6511
15.4k
            scan_error{scan_error::invalid_format_string, msg}));
6512
15.4k
        return m_error.error();
6513
15.4k
    }
scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Line
Count
Source
6509
5.15k
    {
6510
5.15k
        m_error = unexpected(detail::handle_error(
6511
5.15k
            scan_error{scan_error::invalid_format_string, msg}));
6512
5.15k
        return m_error.error();
6513
5.15k
    }
scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
Line
Count
Source
6509
10.3k
    {
6510
10.3k
        m_error = unexpected(detail::handle_error(
6511
10.3k
            scan_error{scan_error::invalid_format_string, msg}));
6512
10.3k
        return m_error.error();
6513
10.3k
    }
6514
6515
    scan_expected<void> get_error()
6516
384k
    {
6517
384k
        return m_error;
6518
384k
    }
scn::v4::basic_scan_parse_context<char>::get_error()
Line
Count
Source
6516
184k
    {
6517
184k
        return m_error;
6518
184k
    }
scn::v4::basic_scan_parse_context<wchar_t>::get_error()
Line
Count
Source
6516
199k
    {
6517
199k
        return m_error;
6518
199k
    }
6519
6520
    [[nodiscard]] constexpr bool is_source_contiguous() const
6521
    {
6522
        return m_is_contiguous;
6523
    }
6524
6525
    [[nodiscard]] constexpr bool is_source_borrowed() const
6526
    {
6527
        return m_is_borrowed;
6528
    }
6529
6530
protected:
6531
    constexpr void do_check_arg_id(size_t id);
6532
6533
    std::basic_string_view<CharT> m_format;
6534
    scan_expected<void> m_error{};
6535
    int m_next_arg_id{0};
6536
    bool m_is_contiguous{false}, m_is_borrowed{false};
6537
};
6538
6539
/////////////////////////////////////////////////////////////////
6540
// Result types
6541
/////////////////////////////////////////////////////////////////
6542
6543
namespace detail {
6544
template <typename... Args>
6545
struct scan_result_value_storage {
6546
public:
6547
    using tuple_type = std::tuple<Args...>;
6548
6549
384k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<tm>::scan_result_value_storage()
Line
Count
Source
6549
128k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<scn::v4::tm_with_tz>::scan_result_value_storage()
Line
Count
Source
6549
128k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<scn::v4::datetime_components>::scan_result_value_storage()
Line
Count
Source
6549
128k
    constexpr scan_result_value_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
6550
6551
    constexpr scan_result_value_storage(tuple_type&& values)
6552
        : m_values(SCN_MOVE(values))
6553
    {
6554
    }
6555
6556
    /// Access the scanned values
6557
    tuple_type& values() &
6558
368k
    {
6559
368k
        return m_values;
6560
368k
    }
scn::v4::detail::scan_result_value_storage<tm>::values() &
Line
Count
Source
6558
122k
    {
6559
122k
        return m_values;
6560
122k
    }
scn::v4::detail::scan_result_value_storage<scn::v4::tm_with_tz>::values() &
Line
Count
Source
6558
122k
    {
6559
122k
        return m_values;
6560
122k
    }
scn::v4::detail::scan_result_value_storage<scn::v4::datetime_components>::values() &
Line
Count
Source
6558
122k
    {
6559
122k
        return m_values;
6560
122k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::values() &
6561
    /// Access the scanned values
6562
    const tuple_type& values() const&
6563
    {
6564
        return m_values;
6565
    }
6566
    /// Access the scanned values
6567
    tuple_type&& values() &&
6568
    {
6569
        return SCN_MOVE(m_values);
6570
    }
6571
    /// Access the scanned values
6572
    const tuple_type&& values() const&&
6573
    {
6574
        return SCN_MOVE(m_values);
6575
    }
6576
6577
    /// Access the single scanned value
6578
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6579
    decltype(auto) value() &
6580
15.4k
    {
6581
15.4k
        return std::get<0>(m_values);
6582
15.4k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJ2tmEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
5.15k
    {
6581
5.15k
        return std::get<0>(m_values);
6582
5.15k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJNS0_10tm_with_tzEEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
5.15k
    {
6581
5.15k
        return std::get<0>(m_values);
6582
5.15k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJNS0_19datetime_componentsEEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
5.15k
    {
6581
5.15k
        return std::get<0>(m_values);
6582
5.15k
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6583
    /// Access the single scanned value
6584
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6585
    decltype(auto) value() const&
6586
    {
6587
        return std::get<0>(m_values);
6588
    }
6589
    /// Access the single scanned value
6590
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6591
    decltype(auto) value() &&
6592
    {
6593
        return SCN_MOVE(std::get<0>(m_values));
6594
    }
6595
    /// Access the single scanned value
6596
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6597
    decltype(auto) value() const&&
6598
    {
6599
        return SCN_MOVE(std::get<0>(m_values));
6600
    }
6601
6602
private:
6603
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6604
};
6605
6606
struct scan_result_convert_tag {};
6607
6608
template <typename Range>
6609
struct scan_result_range_storage {
6610
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6611
                  "scan_result<Range> accepts only subranges as Ranges");
6612
6613
public:
6614
    using range_type = Range;
6615
    using iterator = ranges::iterator_t<Range>;
6616
    using sentinel = ranges::sentinel_t<Range>;
6617
6618
384k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6618
84.6k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage()
Line
Count
Source
6618
100k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6618
99.7k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage()
Line
Count
Source
6618
99.7k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6619
6620
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6621
    {
6622
    }
6623
6624
    template <typename R>
6625
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6626
        : m_range(SCN_MOVE(r))
6627
    {
6628
    }
6629
6630
    /// Access the ununsed source range
6631
    range_type range() const
6632
    {
6633
        return m_range;
6634
    }
6635
6636
    /// The beginning of the unused source range
6637
    auto begin() const
6638
152k
    {
6639
152k
        return ranges::begin(m_range);
6640
152k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
6638
45.9k
    {
6639
45.9k
        return ranges::begin(m_range);
6640
45.9k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
6638
61.4k
    {
6639
61.4k
        return ranges::begin(m_range);
6640
61.4k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
6638
22.4k
    {
6639
22.4k
        return ranges::begin(m_range);
6640
22.4k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
6638
22.4k
    {
6639
22.4k
        return ranges::begin(m_range);
6640
22.4k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6641
    /// The end of the unused source range
6642
    auto end() const
6643
0
    {
6644
0
        return ranges::end(m_range);
6645
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6646
6647
    template <typename Other>
6648
    void set_range(Other&& r)
6649
152k
    {
6650
152k
        m_range = std::forward<Other>(r);
6651
152k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6649
45.9k
    {
6650
45.9k
        m_range = std::forward<Other>(r);
6651
45.9k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
6649
61.4k
    {
6650
61.4k
        m_range = std::forward<Other>(r);
6651
61.4k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6649
22.4k
    {
6650
22.4k
        m_range = std::forward<Other>(r);
6651
22.4k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
6649
22.4k
    {
6650
22.4k
        m_range = std::forward<Other>(r);
6651
22.4k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6652
6653
protected:
6654
    template <typename Other>
6655
    void assign_range(Other&& r)
6656
    {
6657
        m_range = r.m_range;
6658
    }
6659
6660
private:
6661
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6662
};
6663
6664
struct scan_result_file_storage {
6665
public:
6666
    using range_type = std::FILE*;
6667
6668
    constexpr scan_result_file_storage() = default;
6669
6670
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6671
6672
    /// File used for scanning
6673
    std::FILE* file() const
6674
0
    {
6675
0
        return m_file;
6676
0
    }
6677
6678
    void set_range(std::FILE* f)
6679
0
    {
6680
0
        m_file = f;
6681
0
    }
6682
6683
protected:
6684
    void assign_range(const scan_result_file_storage& f)
6685
0
    {
6686
0
        m_file = f.m_file;
6687
0
    }
6688
6689
private:
6690
    std::FILE* m_file{nullptr};
6691
};
6692
6693
struct scan_result_dangling {
6694
    using range_type = ranges::dangling;
6695
6696
    constexpr scan_result_dangling() = default;
6697
6698
    template <typename... Args>
6699
    explicit constexpr scan_result_dangling(Args&&...)
6700
    {
6701
    }
6702
6703
    range_type range() const
6704
0
    {
6705
0
        return {};
6706
0
    }
6707
6708
    ranges::dangling begin() const
6709
0
    {
6710
0
        return {};
6711
0
    }
6712
    ranges::dangling end() const
6713
0
    {
6714
0
        return {};
6715
0
    }
6716
6717
    template <typename... Args>
6718
    void set_range(Args&&...)
6719
    {
6720
    }
6721
6722
protected:
6723
    template <typename... Args>
6724
    void assign_range(Args&&...)
6725
    {
6726
    }
6727
};
6728
6729
template <typename Range>
6730
constexpr auto get_scan_result_base()
6731
0
{
6732
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6733
0
        return type_identity<scan_result_dangling>{};
6734
0
    }
6735
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6736
0
        return type_identity<scan_result_file_storage>{};
6737
0
    }
6738
0
    else {
6739
0
        return type_identity<scan_result_range_storage<Range>>{};
6740
0
    }
6741
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6742
6743
#if !SCN_DOXYGEN
6744
template <typename Range>
6745
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6746
#else
6747
template <typename Range>
6748
using scan_result_base = scan_result_range_storage<Range>;
6749
#endif
6750
}  // namespace detail
6751
6752
/**
6753
 * \defgroup result Result types
6754
 *
6755
 * \brief Result and error types
6756
 *
6757
 * Instead of using exceptions, `scn::scan` and others return an object of
6758
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6759
 */
6760
6761
/**
6762
 * Type returned by `scan`, contains the unused input as a subrange, and the
6763
 * scanned values in a tuple.
6764
 */
6765
template <typename Range, typename... Args>
6766
class scan_result : public detail::scan_result_base<Range>,
6767
                    public detail::scan_result_value_storage<Args...> {
6768
    using range_base = detail::scan_result_base<Range>;
6769
    using value_base = detail::scan_result_value_storage<Args...>;
6770
6771
public:
6772
    using range_type = typename range_base::range_type;
6773
    using tuple_type = typename value_base::tuple_type;
6774
6775
384k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::scan_result()
Line
Count
Source
6775
28.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6775
28.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6775
28.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::scan_result()
Line
Count
Source
6775
33.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6775
33.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6775
33.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::scan_result()
Line
Count
Source
6775
33.2k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6776
6777
    constexpr scan_result(const scan_result&) = default;
6778
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6779
    constexpr scan_result& operator=(const scan_result&) = default;
6780
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6781
6782
256k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6782
28.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6782
28.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6782
33.3k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6782
33.3k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6782
33.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6782
33.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::~scan_result()
Line
Count
Source
6782
33.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::~scan_result()
Line
Count
Source
6782
33.2k
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6783
6784
    scan_result(range_type r, tuple_type&& values)
6785
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6786
    {
6787
    }
6788
6789
    template <typename OtherR,
6790
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6791
                  nullptr>
6792
    scan_result(OtherR&& r, tuple_type&& values)
6793
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6794
          value_base(SCN_MOVE(values))
6795
    {
6796
    }
6797
6798
    template <typename OtherR,
6799
              std::enable_if_t<
6800
                  std::is_constructible_v<range_type, OtherR> &&
6801
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6802
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6803
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6804
          value_base(o.values())
6805
    {
6806
    }
6807
    template <typename OtherR,
6808
              std::enable_if_t<
6809
                  std::is_constructible_v<range_type, OtherR> &&
6810
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6811
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6812
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6813
          value_base(o.values())
6814
    {
6815
    }
6816
6817
    template <typename OtherR,
6818
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6819
                               std::is_convertible_v<OtherR&&, range_type>>* =
6820
                  nullptr>
6821
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6822
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6823
          value_base(SCN_MOVE(o.values()))
6824
    {
6825
    }
6826
    template <typename OtherR,
6827
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6828
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6829
                  nullptr>
6830
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6831
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6832
          value_base(SCN_MOVE(o.values()))
6833
    {
6834
    }
6835
6836
    template <typename OtherR,
6837
              typename =
6838
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6839
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6840
    {
6841
        this->assign_range(o);
6842
        this->values() = o.values();
6843
        return *this;
6844
    }
6845
6846
    template <typename OtherR,
6847
              typename =
6848
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6849
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6850
    {
6851
        this->assign_range(o);
6852
        this->values() = SCN_MOVE(o.values());
6853
        return *this;
6854
    }
6855
};
6856
6857
template <typename R, typename... Args>
6858
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6859
template <typename R, typename Ctx, typename... Args>
6860
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6861
    -> scan_result<R, Args...>;
6862
6863
namespace detail {
6864
template <typename SourceRange>
6865
auto make_vscan_result_range_end(SourceRange& source)
6866
152k
{
6867
152k
    return ranges::end(source);
6868
152k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
6866
45.9k
{
6867
45.9k
    return ranges::end(source);
6868
45.9k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
6866
61.4k
{
6867
61.4k
    return ranges::end(source);
6868
61.4k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
6866
22.4k
{
6867
22.4k
    return ranges::end(source);
6868
22.4k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
6866
22.4k
{
6867
22.4k
    return ranges::end(source);
6868
22.4k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
6869
template <typename CharT, size_t N>
6870
auto make_vscan_result_range_end(CharT (&source)[N])
6871
    -> ranges::sentinel_t<CharT (&)[N]>
6872
{
6873
    return source + N - 1;
6874
}
6875
6876
template <typename SourceRange>
6877
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6878
    -> borrowed_tail_subrange_t<SourceRange>
6879
152k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
152k
                      ranges::iterator_t<SourceRange>>) {
6882
152k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
0
    else {
6885
0
        auto it = ranges::begin(source);
6886
0
        while (n > 0) {
6887
0
            --n;
6888
0
            ++it;
6889
0
        }
6890
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
0
    }
6892
152k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6879
45.9k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
45.9k
                      ranges::iterator_t<SourceRange>>) {
6882
45.9k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
45.9k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6879
61.4k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
61.4k
                      ranges::iterator_t<SourceRange>>) {
6882
61.4k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
61.4k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6879
22.4k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
22.4k
                      ranges::iterator_t<SourceRange>>) {
6882
22.4k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
22.4k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6879
22.4k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
22.4k
                      ranges::iterator_t<SourceRange>>) {
6882
22.4k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
22.4k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
6893
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6894
0
{
6895
0
    return source;
6896
0
}
6897
}  // namespace detail
6898
6899
/////////////////////////////////////////////////////////////////
6900
// Format string parsing
6901
/////////////////////////////////////////////////////////////////
6902
6903
namespace detail {
6904
/// Parse context with extra data used only for compile-time checks
6905
template <typename CharT>
6906
class compile_parse_context : public basic_scan_parse_context<CharT> {
6907
    using base = basic_scan_parse_context<CharT>;
6908
6909
public:
6910
    template <typename Source>
6911
    explicit constexpr compile_parse_context(
6912
        source_tag_type<Source>,
6913
        std::basic_string_view<CharT> format_str,
6914
        int num_args,
6915
        const arg_type* types,
6916
        int next_arg_id = 0)
6917
        : base(source_tag<Source>, format_str, next_arg_id),
6918
          m_num_args(num_args),
6919
          m_types(types)
6920
    {
6921
    }
6922
6923
    SCN_NODISCARD constexpr int get_num_args() const
6924
0
    {
6925
0
        return m_num_args;
6926
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6927
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6928
    {
6929
        return m_types[id];
6930
    }
6931
6932
    SCN_GCC_PUSH
6933
    SCN_GCC_IGNORE("-Wsign-conversion")
6934
6935
    constexpr std::size_t next_arg_id()
6936
    {
6937
        auto id = base::next_arg_id();
6938
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6939
            this->on_error("Argument not found");
6940
        }
6941
        return id;
6942
    }
6943
6944
    constexpr void check_arg_id(std::size_t id)
6945
    {
6946
        base::check_arg_id(id);
6947
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6948
            this->on_error("Argument not found");
6949
        }
6950
    }
6951
    using base::check_arg_id;
6952
6953
private:
6954
    int m_num_args;
6955
    const arg_type* m_types;
6956
6957
    SCN_GCC_POP  // -Wsign-conversion
6958
};
6959
6960
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6961
0
{
6962
0
#ifdef __cpp_lib_is_constant_evaluated
6963
0
    SCN_UNUSED(default_value);
6964
0
    return std::is_constant_evaluated();
6965
0
#else
6966
0
    return default_value;
6967
0
#endif
6968
0
}
6969
}  // namespace detail
6970
6971
template <typename CharT>
6972
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6973
368k
{
6974
368k
    if (detail::is_constant_evaluated() &&
6975
368k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
368k
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6973
179k
{
6974
179k
    if (detail::is_constant_evaluated() &&
6975
179k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
179k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6973
189k
{
6974
189k
    if (detail::is_constant_evaluated() &&
6975
189k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
189k
}
6985
6986
namespace detail {
6987
enum class align_type : unsigned char {
6988
    none = 0,
6989
    left = 1,   // '<'
6990
    right = 2,  // '>'
6991
    center = 3  // '^'
6992
};
6993
6994
enum class presentation_type {
6995
    none,
6996
    int_binary,            // 'b', 'B'
6997
    int_decimal,           // 'd'
6998
    int_generic,           // 'i'
6999
    int_unsigned_decimal,  // 'u'
7000
    int_octal,             // 'o'
7001
    int_hex,               // 'x', 'X'
7002
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
7003
    float_hex,             // 'a', 'A'
7004
    float_scientific,      // 'e', 'E'
7005
    float_fixed,           // 'f', 'F'
7006
    float_general,         // 'g', 'G'
7007
    string,                // 's'
7008
    string_set,            // '[...]'
7009
#if !SCN_DISABLE_REGEX
7010
    regex,          // '/.../.'
7011
    regex_escaped,  // '/..\/../.'
7012
#endif
7013
    character,          // 'c'
7014
    escaped_character,  // '?'
7015
    pointer,            // 'p'
7016
};
7017
7018
#if !SCN_DISABLE_REGEX
7019
enum class regex_flags {
7020
    none = 0,
7021
    multiline = 1,   // /m
7022
    singleline = 2,  // /s
7023
    nocase = 4,      // /i
7024
    nocapture = 8,   // /n
7025
    // TODO?
7026
    // would probably need to go hand-in-hand with locale,
7027
    // where it could even be the default/only option -> no flag?
7028
    // why else would you even use locale with a regex?
7029
    // collate = 16,
7030
};
7031
7032
constexpr regex_flags operator&(regex_flags a, regex_flags b)
7033
0
{
7034
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
7035
0
                                    static_cast<unsigned>(b));
7036
0
}
7037
constexpr regex_flags operator|(regex_flags a, regex_flags b)
7038
0
{
7039
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
7040
0
                                    static_cast<unsigned>(b));
7041
0
}
7042
constexpr regex_flags operator^(regex_flags a, regex_flags b)
7043
0
{
7044
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
7045
0
                                    static_cast<unsigned>(b));
7046
0
}
7047
7048
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
7049
0
{
7050
0
    return a = a & b;
7051
0
}
7052
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
7053
0
{
7054
0
    return a = a | b;
7055
0
}
7056
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
7057
0
{
7058
0
    return a = a ^ b;
7059
0
}
7060
#endif
7061
7062
class fill_type {
7063
public:
7064
    constexpr void operator=(char c)
7065
0
    {
7066
0
        m_data[0] = c;
7067
0
        m_size = 1;
7068
0
    }
7069
7070
    template <typename CharT>
7071
    constexpr void operator=(std::basic_string_view<CharT> s)
7072
0
    {
7073
0
        SCN_EXPECT(!s.empty());
7074
0
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
7075
0
        if constexpr (sizeof(CharT) == 1) {
7076
0
            for (size_t i = 0; i < s.size(); ++i) {
7077
0
                SCN_GCC_PUSH
7078
0
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
7079
0
                m_data[i] = s[i];
7080
0
                SCN_GCC_POP
7081
0
            }
7082
0
            m_size = static_cast<unsigned char>(s.size());
7083
        }
7084
        else if constexpr (sizeof(CharT) == 2) {
7085
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
7086
            m_data[1] =
7087
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7088
            if (s.size() == 1) {
7089
                return;
7090
            }
7091
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7092
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7093
        }
7094
0
        else {
7095
0
            const auto front = static_cast<unsigned>(s.front());
7096
0
            m_data[0] = static_cast<char>(front);
7097
0
            m_data[1] = static_cast<char>(front >> 8);
7098
0
            m_data[2] = static_cast<char>(front >> 16);
7099
0
            m_data[3] = static_cast<char>(front >> 24);
7100
0
        }
7101
0
    }
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7102
7103
    constexpr size_t size() const
7104
0
    {
7105
0
        return m_size;
7106
0
    }
7107
7108
    template <typename CharT>
7109
    CharT get_code_unit() const
7110
0
    {
7111
0
        SCN_EXPECT(m_size <= sizeof(CharT));
7112
0
        CharT r{};
7113
0
        std::memcpy(&r, m_data, m_size);
7114
0
        return r;
7115
0
    }
Unexecuted instantiation: char scn::v4::detail::fill_type::get_code_unit<char>() const
Unexecuted instantiation: wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
7116
7117
    template <typename CharT>
7118
    std::basic_string_view<CharT> get_code_units() const
7119
0
    {
7120
0
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7121
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
7122
7123
private:
7124
    static constexpr size_t max_size = 4;
7125
    char m_data[max_size] = {' '};
7126
    unsigned char m_size{1};
7127
};
7128
7129
struct format_specs {
7130
    int width{0}, precision{0};
7131
    fill_type fill{};
7132
    presentation_type type{presentation_type::none};
7133
    std::array<uint8_t, 128 / 8> charset_literals{0};
7134
    bool charset_has_nonascii{false}, charset_is_inverted{false};
7135
    const void* charset_string_data{nullptr};
7136
    size_t charset_string_size{0};
7137
#if !SCN_DISABLE_REGEX
7138
    regex_flags regexp_flags{regex_flags::none};
7139
#endif
7140
    unsigned char arbitrary_base{0};
7141
    align_type align{align_type::none};
7142
    bool localized{false};
7143
7144
    constexpr format_specs() = default;
7145
7146
    SCN_NODISCARD constexpr int get_base() const
7147
0
    {
7148
0
        SCN_GCC_COMPAT_PUSH
7149
0
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
7150
0
        switch (type) {
7151
0
            case presentation_type::none:
7152
0
                return 10;
7153
0
            case presentation_type::int_generic:
7154
0
                return 0;
7155
0
            case presentation_type::int_arbitrary_base:
7156
0
                return arbitrary_base;
7157
7158
0
            case presentation_type::int_binary:
7159
0
                return 2;
7160
0
            case presentation_type::int_octal:
7161
0
                return 8;
7162
0
            case presentation_type::int_decimal:
7163
0
            case presentation_type::int_unsigned_decimal:
7164
0
                return 10;
7165
0
            case presentation_type::int_hex:
7166
0
                return 16;
7167
7168
0
            default:
7169
0
                SCN_EXPECT(false);
7170
0
                SCN_UNREACHABLE;
7171
0
        }
7172
0
        SCN_GCC_COMPAT_POP
7173
0
    }
7174
7175
    template <typename CharT>
7176
    std::basic_string_view<CharT> charset_string() const
7177
0
    {
7178
0
        return {reinterpret_cast<const CharT*>(charset_string_data),
7179
0
                charset_string_size};
7180
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
7181
};
7182
7183
struct specs_setter {
7184
public:
7185
0
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7186
7187
    constexpr void on_align(align_type align)
7188
0
    {
7189
0
        m_specs.align = align;
7190
0
    }
7191
    template <typename CharT>
7192
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7193
0
    {
7194
0
        m_specs.fill = fill;
7195
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7196
    template <bool Dependent = true>
7197
    constexpr void on_localized()
7198
0
    {
7199
0
        if constexpr (!SCN_DISABLE_LOCALE) {
7200
0
            m_specs.localized = true;
7201
        }
7202
        else {
7203
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7204
        }
7205
0
    }
7206
7207
    constexpr void on_width(int width)
7208
0
    {
7209
0
        if (m_specs.precision != 0 && width > m_specs.precision) {
7210
            // clang-format off
7211
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7212
            // clang-format on
7213
0
        }
7214
7215
0
        m_specs.width = width;
7216
0
    }
7217
    constexpr void on_precision(int prec)
7218
0
    {
7219
0
        if (m_specs.width > prec) {
7220
            // clang-format off
7221
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7222
            // clang-format on
7223
0
        }
7224
7225
0
        m_specs.precision = prec;
7226
0
    }
7227
7228
    constexpr void on_type(presentation_type type)
7229
0
    {
7230
0
        m_specs.type = type;
7231
0
    }
7232
7233
    constexpr void on_charset_single(char32_t cp)
7234
0
    {
7235
0
        const auto cp_value = static_cast<unsigned>(cp);
7236
0
        if (SCN_LIKELY(cp_value <= 127)) {
7237
0
            m_specs.charset_literals[cp_value / 8] |=
7238
0
                static_cast<unsigned char>(1ul << (cp_value % 8));
7239
0
        }
7240
0
        else {
7241
0
            m_specs.charset_has_nonascii = true;
7242
0
        }
7243
0
    }
7244
7245
    constexpr void on_charset_range(char32_t begin, char32_t end)
7246
0
    {
7247
0
        const auto begin_value = static_cast<unsigned>(begin);
7248
0
        const auto end_value = static_cast<unsigned>(end);
7249
0
        SCN_EXPECT(begin_value < end_value);
7250
7251
0
        if (SCN_LIKELY(end_value <= 127)) {
7252
            // No need to bit-twiddle with a mask, because with the
7253
            // SCN_ASSUME, -O3 will optimize this to a single operation
7254
0
            SCN_ASSUME(begin_value < end_value);
7255
0
            for (auto v = begin_value; v != end_value; ++v) {
7256
0
                m_specs.charset_literals[v / 8] |=
7257
0
                    static_cast<unsigned char>(1ul << (v % 8));
7258
0
            }
7259
0
        }
7260
0
        else {
7261
0
            m_specs.charset_has_nonascii = true;
7262
0
        }
7263
0
    }
7264
7265
    constexpr void on_charset_inverted()
7266
0
    {
7267
0
        m_specs.charset_is_inverted = true;
7268
0
    }
7269
7270
    template <typename CharT>
7271
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7272
0
    {
7273
0
        m_specs.charset_string_data = fmt.data();
7274
0
        m_specs.charset_string_size = fmt.size();
7275
0
        on_type(presentation_type::string_set);
7276
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7277
7278
#if !SCN_DISABLE_REGEX
7279
    template <typename CharT>
7280
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7281
0
    {
7282
0
        m_specs.charset_string_data = pattern.data();
7283
0
        m_specs.charset_string_size = pattern.size();
7284
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7285
    constexpr void on_regex_flags(regex_flags flags)
7286
0
    {
7287
0
        m_specs.regexp_flags = flags;
7288
0
    }
7289
#endif
7290
7291
    // Intentionally not constexpr to get a compiler-time error when called
7292
    /*not-constexpr*/ void on_error(const char* msg)
7293
0
    {
7294
0
        SCN_UNLIKELY_ATTR
7295
0
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7296
0
    }
7297
    /*not-constexpr*/ void on_error(scan_error err)
7298
0
    {
7299
0
        SCN_UNLIKELY_ATTR
7300
0
        m_error = unexpected(err);
7301
0
    }
7302
7303
    constexpr scan_expected<void> get_error() const
7304
0
    {
7305
0
        return m_error;
7306
0
    }
7307
7308
protected:
7309
    format_specs& m_specs;
7310
    scan_expected<void> m_error;
7311
};
7312
7313
template <typename CharT>
7314
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7315
0
{
7316
0
    SCN_EXPECT(begin != end);
7317
0
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7318
7319
0
    unsigned long long value = 0;
7320
0
    do {
7321
0
        value *= 10;
7322
0
        value += static_cast<unsigned long long>(*begin - '0');
7323
0
        if (value >
7324
0
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7325
0
            return -1;
7326
0
        }
7327
0
        ++begin;
7328
0
    } while (begin != end && *begin >= '0' && *begin <= '9');
7329
0
    return static_cast<int>(value);
7330
0
}
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
7331
7332
template <typename CharT, typename IDHandler>
7333
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7334
                                       const CharT* end,
7335
                                       IDHandler&& handler)
7336
0
{
7337
0
    SCN_EXPECT(begin != end);
7338
7339
0
    CharT c = *begin;
7340
0
    if (c < CharT{'0'} || c > CharT{'9'}) {
7341
0
        handler.on_error("Invalid argument ID");
7342
0
        return begin;
7343
0
    }
7344
7345
0
    int idx = 0;
7346
0
    if (c != CharT{'0'}) {
7347
0
        idx = parse_simple_int(begin, end);
7348
0
    }
7349
0
    else {
7350
0
        ++begin;
7351
0
    }
7352
7353
0
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7354
0
        handler.on_error("Invalid argument ID");
7355
0
        return begin;
7356
0
    }
7357
0
    handler(static_cast<std::size_t>(idx));
7358
7359
0
    return begin;
7360
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7361
7362
template <typename CharT, typename IDHandler>
7363
constexpr const CharT* parse_arg_id(const CharT* begin,
7364
                                    const CharT* end,
7365
                                    IDHandler&& handler)
7366
368k
{
7367
368k
    SCN_EXPECT(begin != end);
7368
368k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
368k
    handler();
7373
368k
    return begin;
7374
368k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7366
82.0k
{
7367
82.0k
    SCN_EXPECT(begin != end);
7368
82.0k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
82.0k
    handler();
7373
82.0k
    return begin;
7374
82.0k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
7366
97.5k
{
7367
97.5k
    SCN_EXPECT(begin != end);
7368
97.5k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
97.5k
    handler();
7373
97.5k
    return begin;
7374
97.5k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7366
94.6k
{
7367
94.6k
    SCN_EXPECT(begin != end);
7368
94.6k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
94.6k
    handler();
7373
94.6k
    return begin;
7374
94.6k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
7366
94.6k
{
7367
94.6k
    SCN_EXPECT(begin != end);
7368
94.6k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
94.6k
    handler();
7373
94.6k
    return begin;
7374
94.6k
}
7375
7376
template <typename CharT>
7377
constexpr presentation_type parse_presentation_type(CharT type)
7378
0
{
7379
0
    switch (type) {
7380
0
        case 'b':
7381
0
        case 'B':
7382
0
            return presentation_type::int_binary;
7383
0
        case 'd':
7384
0
            return presentation_type::int_decimal;
7385
0
        case 'i':
7386
0
            return presentation_type::int_generic;
7387
0
        case 'u':
7388
0
            return presentation_type::int_unsigned_decimal;
7389
0
        case 'o':
7390
0
            return presentation_type::int_octal;
7391
0
        case 'x':
7392
0
        case 'X':
7393
0
            return presentation_type::int_hex;
7394
0
        case 'r':
7395
0
        case 'R':
7396
0
            return presentation_type::int_arbitrary_base;
7397
0
        case 'a':
7398
0
        case 'A':
7399
0
            return presentation_type::float_hex;
7400
0
        case 'e':
7401
0
        case 'E':
7402
0
            return presentation_type::float_scientific;
7403
0
        case 'f':
7404
0
        case 'F':
7405
0
            return presentation_type::float_fixed;
7406
0
        case 'g':
7407
0
        case 'G':
7408
0
            return presentation_type::float_general;
7409
0
        case 's':
7410
0
            return presentation_type::string;
7411
0
        case 'c':
7412
0
            return presentation_type::character;
7413
0
        case '?':
7414
0
            return presentation_type::escaped_character;
7415
0
        case 'p':
7416
0
            return presentation_type::pointer;
7417
0
        case '[':
7418
0
        case '/':
7419
            // Should be handled by parse_presentation_set and
7420
            // parse_presentation_regex
7421
0
            SCN_EXPECT(false);
7422
0
            SCN_UNREACHABLE;
7423
0
        default:
7424
0
            return presentation_type::none;
7425
0
    }
7426
0
}
Unexecuted instantiation: scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Unexecuted instantiation: scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
7427
7428
template <typename CharT>
7429
constexpr bool is_ascii_letter(CharT ch)
7430
0
{
7431
0
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7432
0
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7433
0
}
Unexecuted instantiation: bool scn::v4::detail::is_ascii_letter<char>(char)
Unexecuted instantiation: bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
7434
7435
template <typename CharT>
7436
constexpr int code_point_length(const CharT* begin, const CharT* end)
7437
0
{
7438
0
    SCN_EXPECT(begin != end);
7439
0
    if constexpr (sizeof(CharT) != 1) {
7440
0
        return 1;
7441
    }
7442
0
    else {
7443
0
        const auto lengths =
7444
0
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7445
0
            "\3\4";
7446
0
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7447
0
        return len;
7448
0
    }
7449
0
}
Unexecuted instantiation: int scn::v4::detail::code_point_length<char>(char const*, char const*)
Unexecuted instantiation: int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
7450
7451
template <typename CharT, typename Handler>
7452
constexpr const CharT* parse_align(const CharT* begin,
7453
                                   const CharT* end,
7454
                                   Handler&& handler)
7455
0
{
7456
0
    SCN_EXPECT(begin != end);
7457
7458
0
    auto check_align = [](wchar_t ch) {
7459
0
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
0
            default:
7467
0
                return align_type::none;
7468
0
        }
7469
0
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
7470
7471
0
    auto potential_fill_len = code_point_length(begin, end);
7472
0
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
0
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
0
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
0
    auto potential_fill = std::basic_string_view<CharT>{
7481
0
        begin, static_cast<size_t>(potential_fill_len)};
7482
0
    const auto begin_before_fill = begin;
7483
0
    begin += potential_fill_len;
7484
7485
0
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
0
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
0
    const auto begin_after_fill = begin;
7491
0
    ++begin;
7492
7493
0
    if (potential_fill_len == 1) {
7494
0
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
0
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
0
    }
7502
7503
0
    if (potential_align_after_fill == align_type::none) {
7504
0
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
0
        return begin_before_fill;
7509
0
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7515
7516
template <typename CharT, typename Handler>
7517
constexpr const CharT* parse_width(const CharT* begin,
7518
                                   const CharT* end,
7519
                                   Handler&& handler)
7520
0
{
7521
0
    SCN_EXPECT(begin != end);
7522
7523
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
0
    return begin;
7534
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7535
7536
template <typename CharT, typename Handler>
7537
constexpr const CharT* parse_precision(const CharT* begin,
7538
                                       const CharT* end,
7539
                                       Handler&& handler)
7540
0
{
7541
0
    SCN_EXPECT(begin != end);
7542
7543
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7544
0
        int prec = parse_simple_int(begin, end);
7545
0
        if (SCN_LIKELY(prec != -1)) {
7546
0
            handler.on_precision(prec);
7547
0
        }
7548
0
        else {
7549
0
            handler.on_error("Invalid field precision");
7550
0
            return begin;
7551
0
        }
7552
0
    }
7553
0
    return begin;
7554
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7555
7556
template <typename CharT, typename SpecHandler>
7557
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7558
                                                     const CharT* end,
7559
                                                     SpecHandler&& handler)
7560
0
{
7561
0
    SCN_EXPECT(begin != end);
7562
7563
0
    auto len = code_point_length_by_starting_code_unit(*begin);
7564
0
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7565
0
        handler.on_error("Invalid encoding in format string");
7566
0
        return invalid_code_point;
7567
0
    }
7568
7569
0
    const auto cp =
7570
0
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7571
0
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7572
0
        handler.on_error("Invalid encoding in format string");
7573
0
        return invalid_code_point;
7574
0
    }
7575
7576
0
    begin += len;
7577
0
    return cp;
7578
0
}
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7579
7580
template <typename CharT, typename SpecHandler>
7581
constexpr void parse_presentation_set_literal(const CharT*& begin,
7582
                                              const CharT* end,
7583
                                              SpecHandler&& handler)
7584
0
{
7585
0
    SCN_EXPECT(begin != end);
7586
7587
0
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7588
0
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7589
0
        return;
7590
0
    }
7591
7592
0
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7593
0
        *(begin + 1) != CharT{']'}) {
7594
0
        ++begin;
7595
7596
0
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7597
0
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7598
0
            return;
7599
0
        }
7600
7601
0
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7602
            // clang-format off
7603
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7604
            // clang-format on
7605
0
            return;
7606
0
        }
7607
7608
0
        handler.on_charset_range(cp_first, cp_second + 1);
7609
0
        return;
7610
0
    }
7611
7612
0
    handler.on_charset_single(cp_first);
7613
0
}
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7614
7615
template <typename CharT, typename SpecHandler>
7616
constexpr std::basic_string_view<CharT> parse_presentation_set(
7617
    const CharT*& begin,
7618
    const CharT* end,
7619
    SpecHandler&& handler)
7620
0
{
7621
0
    SCN_EXPECT(begin != end);
7622
0
    SCN_EXPECT(*begin == CharT{'['});
7623
7624
0
    auto start = begin;
7625
0
    ++begin;
7626
7627
0
    if (SCN_UNLIKELY(begin == end)) {
7628
        // clang-format off
7629
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7630
        // clang-format on
7631
0
        return {};
7632
0
    }
7633
0
    if (*begin == CharT{'^'}) {
7634
0
        handler.on_charset_inverted();
7635
0
        ++begin;
7636
0
        if (SCN_UNLIKELY(begin == end)) {
7637
            // clang-format off
7638
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7639
            // clang-format on
7640
0
            return {};
7641
0
        }
7642
0
        if (*begin == CharT{']'}) {
7643
0
            handler.on_charset_single(char32_t{']'});
7644
0
            ++begin;
7645
0
        }
7646
0
    }
7647
0
    else if (*begin == CharT{']'}) {
7648
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7649
0
    }
7650
7651
0
    while (begin != end) {
7652
0
        if (SCN_UNLIKELY(!handler.get_error())) {
7653
0
            break;
7654
0
        }
7655
7656
0
        if (*begin == CharT{']'}) {
7657
0
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7658
0
        }
7659
7660
0
        parse_presentation_set_literal(begin, end, handler);
7661
0
    }
7662
7663
0
    SCN_UNLIKELY_ATTR
7664
0
    handler.on_error("Invalid [character set] specifier in format string");
7665
0
    return {};
7666
0
}
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7667
7668
template <typename CharT, typename SpecHandler>
7669
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7670
                                                const CharT* end,
7671
                                                SpecHandler&& handler)
7672
0
{
7673
0
#if !SCN_DISABLE_REGEX
7674
0
    SCN_EXPECT(begin != end);
7675
0
    SCN_EXPECT(*begin == CharT{'/'});
7676
7677
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7678
0
                  std::is_same_v<CharT, wchar_t>) {
7679
0
        handler.on_error("Regex backend doesn't support wide strings as input");
7680
0
        return begin;
7681
0
    }
7682
7683
0
    auto start = begin;
7684
0
    ++begin;
7685
7686
0
    if (SCN_UNLIKELY(begin == end)) {
7687
0
        handler.on_error("Unexpected end of regex in format string");
7688
0
        return begin;
7689
0
    }
7690
7691
0
    handler.on_type(presentation_type::regex);
7692
0
    for (; begin != end; ++begin) {
7693
0
        if (*begin == CharT{'/'}) {
7694
0
            if (*(begin - 1) != CharT{'\\'}) {
7695
0
                break;
7696
0
            }
7697
0
            else {
7698
0
                handler.on_type(presentation_type::regex_escaped);
7699
0
            }
7700
0
        }
7701
0
    }
7702
0
    if (SCN_UNLIKELY(begin == end)) {
7703
0
        handler.on_error("Unexpected end of regex in format string");
7704
0
        return begin;
7705
0
    }
7706
7707
0
    auto regex_end = begin;
7708
0
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7709
0
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7710
0
        handler.on_error("Invalid (empty) regex in format string");
7711
0
        return begin;
7712
0
    }
7713
0
    handler.on_regex_pattern(regex_pattern);
7714
0
    ++begin;
7715
7716
0
    if (SCN_UNLIKELY(begin == end)) {
7717
0
        handler.on_error("Unexpected end of regex in format string");
7718
0
        return begin;
7719
0
    }
7720
7721
0
    regex_flags flags{regex_flags::none};
7722
0
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7723
0
        {{'m', regex_flags::multiline},
7724
0
         {'s', regex_flags::singleline},
7725
0
         {'i', regex_flags::nocase},
7726
0
         {'n', regex_flags::nocapture}}};
7727
0
    for (; begin != end; ++begin) {
7728
0
        if (*begin == CharT{'}'}) {
7729
0
            break;
7730
0
        }
7731
0
        bool found_flag = false;
7732
0
        for (auto flag : flag_map) {
7733
0
            if (static_cast<CharT>(flag.first) != *begin) {
7734
0
                continue;
7735
0
            }
7736
0
            if ((flags & flag.second) != regex_flags::none) {
7737
0
                handler.on_error("Flag set multiple times in regex");
7738
0
                return begin;
7739
0
            }
7740
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7741
            if (*begin == CharT{'s'}) {
7742
                // clang-format off
7743
                handler.on_error("/s flag for regex isn't supported by regex backend");
7744
                // clang-format on
7745
            }
7746
#if !SCN_HAS_STD_REGEX_MULTILINE
7747
            if (*begin == CharT{'m'}) {
7748
                // clang-format off
7749
                handler.on_error("/m flag for regex isn't supported by regex backend");
7750
                // clang-format on
7751
            }
7752
#endif
7753
#endif
7754
0
            flags |= flag.second;
7755
0
            found_flag = true;
7756
0
            break;
7757
0
        }
7758
0
        if (!found_flag) {
7759
0
            handler.on_error("Invalid flag in regex");
7760
0
            return begin;
7761
0
        }
7762
0
    }
7763
0
    handler.on_regex_flags(flags);
7764
7765
0
    if (SCN_UNLIKELY(begin == end)) {
7766
0
        handler.on_error("Unexpected end of regex in format string");
7767
0
        return begin;
7768
0
    }
7769
7770
0
    return begin;
7771
#else
7772
    SCN_UNUSED(begin);
7773
    SCN_UNUSED(end);
7774
    handler.on_error("Regular expression support is disabled");
7775
    return {};
7776
#endif
7777
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7778
7779
template <typename CharT, typename SpecHandler>
7780
constexpr const CharT* parse_format_specs(const CharT* begin,
7781
                                          const CharT* end,
7782
                                          SpecHandler&& handler)
7783
0
{
7784
0
    auto do_presentation = [&]() -> const CharT* {
7785
0
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
0
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
0
        presentation_type type = parse_presentation_type(*begin++);
7800
0
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
0
            handler.on_error("Invalid type specifier in format string");
7802
0
            return begin;
7803
0
        }
7804
0
        handler.on_type(type);
7805
0
        return begin;
7806
0
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
7807
7808
0
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
0
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
0
        return do_presentation();
7811
0
    }
7812
7813
0
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
0
    begin = parse_align(begin, end, handler);
7819
0
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
0
    begin = parse_width(begin, end, handler);
7825
0
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
0
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
0
    if (*begin == CharT{'L'}) {
7844
0
        handler.on_localized();
7845
0
        ++begin;
7846
0
    }
7847
0
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
0
    if (begin != end && *begin != CharT{'}'}) {
7853
0
        do_presentation();
7854
0
    }
7855
0
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
0
    return begin;
7861
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7862
7863
template <typename CharT, typename Handler>
7864
constexpr const CharT* parse_replacement_field(const CharT* begin,
7865
                                               const CharT* end,
7866
                                               Handler& handler)
7867
368k
{
7868
368k
    struct id_adapter {
7869
368k
        constexpr void operator()()
7870
368k
        {
7871
368k
            arg_id = handler.on_arg_id();
7872
368k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7870
82.0k
        {
7871
82.0k
            arg_id = handler.on_arg_id();
7872
82.0k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
7870
97.5k
        {
7871
97.5k
            arg_id = handler.on_arg_id();
7872
97.5k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7870
94.6k
        {
7871
94.6k
            arg_id = handler.on_arg_id();
7872
94.6k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7870
94.6k
        {
7871
94.6k
            arg_id = handler.on_arg_id();
7872
94.6k
        }
7873
368k
        constexpr void operator()(std::size_t id)
7874
368k
        {
7875
0
            arg_id = handler.on_arg_id(id);
7876
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7877
7878
368k
        constexpr void on_error(const char* msg)
7879
368k
        {
7880
0
            SCN_UNLIKELY_ATTR
7881
0
            handler.on_error(msg);
7882
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7883
7884
368k
        Handler& handler;
7885
368k
        std::size_t arg_id;
7886
368k
    };
7887
7888
368k
    ++begin;
7889
368k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
368k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
368k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
368k
    else {
7901
368k
        auto adapter = id_adapter{handler, 0};
7902
368k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
368k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
368k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
368k
        else if (*begin == CharT{':'}) {
7913
368k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
368k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
368k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
0
                handler.on_error("Unknown format specifier");
7920
0
                return begin;
7921
0
            }
7922
368k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
368k
    }
7929
368k
    return begin + 1;
7930
368k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7867
82.0k
{
7868
82.0k
    struct id_adapter {
7869
82.0k
        constexpr void operator()()
7870
82.0k
        {
7871
82.0k
            arg_id = handler.on_arg_id();
7872
82.0k
        }
7873
82.0k
        constexpr void operator()(std::size_t id)
7874
82.0k
        {
7875
82.0k
            arg_id = handler.on_arg_id(id);
7876
82.0k
        }
7877
7878
82.0k
        constexpr void on_error(const char* msg)
7879
82.0k
        {
7880
82.0k
            SCN_UNLIKELY_ATTR
7881
82.0k
            handler.on_error(msg);
7882
82.0k
        }
7883
7884
82.0k
        Handler& handler;
7885
82.0k
        std::size_t arg_id;
7886
82.0k
    };
7887
7888
82.0k
    ++begin;
7889
82.0k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
82.0k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
82.0k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
82.0k
    else {
7901
82.0k
        auto adapter = id_adapter{handler, 0};
7902
82.0k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
82.0k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
82.0k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
82.0k
        else if (*begin == CharT{':'}) {
7913
82.0k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
82.0k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
82.0k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
0
                handler.on_error("Unknown format specifier");
7920
0
                return begin;
7921
0
            }
7922
82.0k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
82.0k
    }
7929
82.0k
    return begin + 1;
7930
82.0k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7867
97.5k
{
7868
97.5k
    struct id_adapter {
7869
97.5k
        constexpr void operator()()
7870
97.5k
        {
7871
97.5k
            arg_id = handler.on_arg_id();
7872
97.5k
        }
7873
97.5k
        constexpr void operator()(std::size_t id)
7874
97.5k
        {
7875
97.5k
            arg_id = handler.on_arg_id(id);
7876
97.5k
        }
7877
7878
97.5k
        constexpr void on_error(const char* msg)
7879
97.5k
        {
7880
97.5k
            SCN_UNLIKELY_ATTR
7881
97.5k
            handler.on_error(msg);
7882
97.5k
        }
7883
7884
97.5k
        Handler& handler;
7885
97.5k
        std::size_t arg_id;
7886
97.5k
    };
7887
7888
97.5k
    ++begin;
7889
97.5k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
97.5k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
97.5k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
97.5k
    else {
7901
97.5k
        auto adapter = id_adapter{handler, 0};
7902
97.5k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
97.5k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
97.5k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
97.5k
        else if (*begin == CharT{':'}) {
7913
97.5k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
97.5k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
97.5k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
0
                handler.on_error("Unknown format specifier");
7920
0
                return begin;
7921
0
            }
7922
97.5k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
97.5k
    }
7929
97.5k
    return begin + 1;
7930
97.5k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7867
94.6k
{
7868
94.6k
    struct id_adapter {
7869
94.6k
        constexpr void operator()()
7870
94.6k
        {
7871
94.6k
            arg_id = handler.on_arg_id();
7872
94.6k
        }
7873
94.6k
        constexpr void operator()(std::size_t id)
7874
94.6k
        {
7875
94.6k
            arg_id = handler.on_arg_id(id);
7876
94.6k
        }
7877
7878
94.6k
        constexpr void on_error(const char* msg)
7879
94.6k
        {
7880
94.6k
            SCN_UNLIKELY_ATTR
7881
94.6k
            handler.on_error(msg);
7882
94.6k
        }
7883
7884
94.6k
        Handler& handler;
7885
94.6k
        std::size_t arg_id;
7886
94.6k
    };
7887
7888
94.6k
    ++begin;
7889
94.6k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
94.6k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
94.6k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
94.6k
    else {
7901
94.6k
        auto adapter = id_adapter{handler, 0};
7902
94.6k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
94.6k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
94.6k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
94.6k
        else if (*begin == CharT{':'}) {
7913
94.6k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
94.6k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
94.6k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
0
                handler.on_error("Unknown format specifier");
7920
0
                return begin;
7921
0
            }
7922
94.6k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
94.6k
    }
7929
94.6k
    return begin + 1;
7930
94.6k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7867
94.6k
{
7868
94.6k
    struct id_adapter {
7869
94.6k
        constexpr void operator()()
7870
94.6k
        {
7871
94.6k
            arg_id = handler.on_arg_id();
7872
94.6k
        }
7873
94.6k
        constexpr void operator()(std::size_t id)
7874
94.6k
        {
7875
94.6k
            arg_id = handler.on_arg_id(id);
7876
94.6k
        }
7877
7878
94.6k
        constexpr void on_error(const char* msg)
7879
94.6k
        {
7880
94.6k
            SCN_UNLIKELY_ATTR
7881
94.6k
            handler.on_error(msg);
7882
94.6k
        }
7883
7884
94.6k
        Handler& handler;
7885
94.6k
        std::size_t arg_id;
7886
94.6k
    };
7887
7888
94.6k
    ++begin;
7889
94.6k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
94.6k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
94.6k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
94.6k
    else {
7901
94.6k
        auto adapter = id_adapter{handler, 0};
7902
94.6k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
94.6k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
94.6k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
94.6k
        else if (*begin == CharT{':'}) {
7913
94.6k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
94.6k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
94.6k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
0
                handler.on_error("Unknown format specifier");
7920
0
                return begin;
7921
0
            }
7922
94.6k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
94.6k
    }
7929
94.6k
    return begin + 1;
7930
94.6k
}
7931
7932
template <bool IsConstexpr, typename CharT, typename Handler>
7933
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7934
                                        Handler&& handler)
7935
368k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
368k
    auto begin = format.data();
7939
368k
    auto it = begin;
7940
368k
    const auto end = format.data() + format.size();
7941
7942
521k
    while (it != end) {
7943
368k
        const auto ch = *it++;
7944
368k
        if (ch == CharT{'{'}) {
7945
368k
            handler.on_literal_text(begin, it - 1);
7946
7947
368k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
368k
            if (!handler.get_error()) {
7949
216k
                return;
7950
216k
            }
7951
368k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
368k
    }
7962
7963
152k
    handler.on_literal_text(begin, end);
7964
152k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7935
82.0k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
82.0k
    auto begin = format.data();
7939
82.0k
    auto it = begin;
7940
82.0k
    const auto end = format.data() + format.size();
7941
7942
128k
    while (it != end) {
7943
82.0k
        const auto ch = *it++;
7944
82.0k
        if (ch == CharT{'{'}) {
7945
82.0k
            handler.on_literal_text(begin, it - 1);
7946
7947
82.0k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
82.0k
            if (!handler.get_error()) {
7949
36.0k
                return;
7950
36.0k
            }
7951
82.0k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
82.0k
    }
7962
7963
45.9k
    handler.on_literal_text(begin, end);
7964
45.9k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7935
97.5k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
97.5k
    auto begin = format.data();
7939
97.5k
    auto it = begin;
7940
97.5k
    const auto end = format.data() + format.size();
7941
7942
158k
    while (it != end) {
7943
97.5k
        const auto ch = *it++;
7944
97.5k
        if (ch == CharT{'{'}) {
7945
97.5k
            handler.on_literal_text(begin, it - 1);
7946
7947
97.5k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
97.5k
            if (!handler.get_error()) {
7949
36.0k
                return;
7950
36.0k
            }
7951
97.5k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
97.5k
    }
7962
7963
61.4k
    handler.on_literal_text(begin, end);
7964
61.4k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7935
94.6k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
94.6k
    auto begin = format.data();
7939
94.6k
    auto it = begin;
7940
94.6k
    const auto end = format.data() + format.size();
7941
7942
117k
    while (it != end) {
7943
94.6k
        const auto ch = *it++;
7944
94.6k
        if (ch == CharT{'{'}) {
7945
94.6k
            handler.on_literal_text(begin, it - 1);
7946
7947
94.6k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
94.6k
            if (!handler.get_error()) {
7949
72.1k
                return;
7950
72.1k
            }
7951
94.6k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
94.6k
    }
7962
7963
22.4k
    handler.on_literal_text(begin, end);
7964
22.4k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7935
94.6k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
94.6k
    auto begin = format.data();
7939
94.6k
    auto it = begin;
7940
94.6k
    const auto end = format.data() + format.size();
7941
7942
117k
    while (it != end) {
7943
94.6k
        const auto ch = *it++;
7944
94.6k
        if (ch == CharT{'{'}) {
7945
94.6k
            handler.on_literal_text(begin, it - 1);
7946
7947
94.6k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
94.6k
            if (!handler.get_error()) {
7949
72.1k
                return;
7950
72.1k
            }
7951
94.6k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
94.6k
    }
7962
7963
22.4k
    handler.on_literal_text(begin, end);
7964
22.4k
}
7965
7966
template <bool IsConstexpr, typename CharT, typename Handler>
7967
constexpr scan_expected<void> parse_format_string(
7968
    std::basic_string_view<CharT> format,
7969
    Handler&& handler)
7970
368k
{
7971
368k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
368k
    handler.check_args_exhausted();
7973
368k
    return handler.get_error();
7974
368k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7970
82.0k
{
7971
82.0k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
82.0k
    handler.check_args_exhausted();
7973
82.0k
    return handler.get_error();
7974
82.0k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7970
97.5k
{
7971
97.5k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
97.5k
    handler.check_args_exhausted();
7973
97.5k
    return handler.get_error();
7974
97.5k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7970
94.6k
{
7971
94.6k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
94.6k
    handler.check_args_exhausted();
7973
94.6k
    return handler.get_error();
7974
94.6k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7970
94.6k
{
7971
94.6k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
94.6k
    handler.check_args_exhausted();
7973
94.6k
    return handler.get_error();
7974
94.6k
}
7975
7976
enum class arg_type_category {
7977
    none,
7978
    integer,
7979
    unsigned_integer,
7980
    floating,
7981
    string,
7982
    pointer,
7983
    boolean,
7984
    character,
7985
    custom
7986
};
7987
7988
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7989
0
{
7990
0
    switch (type) {
7991
0
        case arg_type::none_type:
7992
0
            return arg_type_category::none;
7993
7994
0
        case arg_type::schar_type:
7995
0
        case arg_type::short_type:
7996
0
        case arg_type::int_type:
7997
0
        case arg_type::long_type:
7998
0
        case arg_type::llong_type:
7999
0
        case arg_type::int128_type:
8000
0
            return arg_type_category::integer;
8001
8002
0
        case arg_type::uchar_type:
8003
0
        case arg_type::ushort_type:
8004
0
        case arg_type::uint_type:
8005
0
        case arg_type::ulong_type:
8006
0
        case arg_type::ullong_type:
8007
0
        case arg_type::uint128_type:
8008
0
            return arg_type_category::unsigned_integer;
8009
8010
0
        case arg_type::pointer_type:
8011
0
            return arg_type_category::pointer;
8012
0
        case arg_type::bool_type:
8013
0
            return arg_type_category::boolean;
8014
0
        case arg_type::narrow_character_type:
8015
0
        case arg_type::wide_character_type:
8016
0
        case arg_type::code_point_type:
8017
0
            return arg_type_category::character;
8018
8019
0
        case arg_type::float_type:
8020
0
        case arg_type::double_type:
8021
0
        case arg_type::ldouble_type:
8022
0
        case arg_type::float16_type:
8023
0
        case arg_type::float32_type:
8024
0
        case arg_type::float64_type:
8025
0
        case arg_type::float128_type:
8026
0
        case arg_type::bfloat16_type:
8027
0
            return arg_type_category::floating;
8028
8029
0
        case arg_type::narrow_string_type:
8030
0
        case arg_type::wide_string_type:
8031
0
        case arg_type::string_view_type:
8032
0
            return arg_type_category::string;
8033
8034
0
        case arg_type::custom_type:
8035
0
            return arg_type_category::custom;
8036
8037
0
            SCN_CLANG_PUSH
8038
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8039
0
        default:
8040
0
            SCN_ENSURE(false);
8041
0
            SCN_UNREACHABLE;
8042
0
            SCN_CLANG_POP
8043
0
    }
8044
8045
0
    SCN_UNREACHABLE;
8046
0
}
8047
8048
template <typename Handler>
8049
class specs_checker : public Handler {
8050
public:
8051
    template <typename H>
8052
    constexpr specs_checker(H&& handler, arg_type type)
8053
0
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
0
    {
8055
0
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
0
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
8057
8058
    constexpr void on_localized()
8059
0
    {
8060
0
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
0
        if (cat != arg_type_category::integer &&
8062
0
            cat != arg_type_category::unsigned_integer &&
8063
0
            cat != arg_type_category::floating &&
8064
0
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
0
        Handler::on_localized();
8072
0
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
8073
8074
private:
8075
    arg_type m_arg_type;
8076
};
8077
8078
template <typename Handler>
8079
constexpr void check_int_type_specs(const format_specs& specs,
8080
                                    Handler&& handler)
8081
0
{
8082
0
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
8083
0
        return handler.on_error("Invalid type specifier for integer type");
8084
0
    }
8085
0
    if (specs.localized) {
8086
0
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
8087
            // clang-format off
8088
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
8089
            // clang-format on
8090
0
            return;
8091
0
        }
8092
0
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8093
            // clang-format off
8094
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8095
            // clang-format on
8096
0
        }
8097
0
    }
8098
0
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8099
8100
template <typename Handler>
8101
constexpr void check_char_type_specs(const format_specs& specs,
8102
                                     Handler&& handler)
8103
0
{
8104
0
    if (specs.type > presentation_type::int_hex ||
8105
0
        specs.type == presentation_type::int_arbitrary_base) {
8106
0
        SCN_UNLIKELY_ATTR
8107
0
        return handler.on_error("Invalid type specifier for character type");
8108
0
    }
8109
0
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8110
8111
template <typename Handler>
8112
constexpr void check_code_point_type_specs(const format_specs& specs,
8113
                                           Handler&& handler)
8114
0
{
8115
0
    if (specs.type != presentation_type::none &&
8116
0
        specs.type != presentation_type::character) {
8117
0
        SCN_UNLIKELY_ATTR
8118
0
        return handler.on_error("Invalid type specifier for code point type");
8119
0
    }
8120
0
}
8121
8122
template <typename Handler>
8123
constexpr void check_float_type_specs(const format_specs& specs,
8124
                                      Handler&& handler)
8125
0
{
8126
0
    if (specs.type != presentation_type::none &&
8127
0
        (specs.type < presentation_type::float_hex ||
8128
0
         specs.type > presentation_type::float_general)) {
8129
0
        SCN_UNLIKELY_ATTR
8130
0
        return handler.on_error("Invalid type specifier for float type");
8131
0
    }
8132
0
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8133
8134
template <typename Handler>
8135
constexpr void check_string_type_specs(const format_specs& specs,
8136
                                       Handler&& handler)
8137
0
{
8138
0
    if (specs.type == presentation_type::none ||
8139
0
        specs.type == presentation_type::string ||
8140
0
        specs.type == presentation_type::string_set
8141
0
#if !SCN_DISABLE_REGEX
8142
0
        || specs.type == presentation_type::regex ||
8143
0
        specs.type == presentation_type::regex_escaped
8144
0
#endif
8145
0
    ) {
8146
0
        return;
8147
0
    }
8148
0
    if (specs.type == presentation_type::character) {
8149
0
        if (SCN_UNLIKELY(specs.precision == 0)) {
8150
            // clang-format off
8151
0
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8152
            // clang-format on
8153
0
        }
8154
0
        return;
8155
0
    }
8156
0
    SCN_UNLIKELY_ATTR
8157
0
    handler.on_error("Invalid type specifier for string");
8158
0
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8159
8160
template <typename Handler>
8161
constexpr void check_pointer_type_specs(const format_specs& specs,
8162
                                        Handler&& handler)
8163
0
{
8164
0
    if (specs.type != presentation_type::none &&
8165
0
        specs.type != presentation_type::pointer) {
8166
0
        SCN_UNLIKELY_ATTR
8167
0
        return handler.on_error("Invalid type specifier for pointer");
8168
0
    }
8169
0
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8170
8171
template <typename Handler>
8172
constexpr void check_bool_type_specs(const format_specs& specs,
8173
                                     Handler&& handler)
8174
0
{
8175
0
    if (specs.type != presentation_type::none &&
8176
0
        specs.type != presentation_type::string &&
8177
0
        specs.type != presentation_type::int_generic &&
8178
0
        specs.type != presentation_type::int_hex &&
8179
0
        specs.type != presentation_type::int_binary &&
8180
0
        specs.type != presentation_type::int_unsigned_decimal &&
8181
0
        specs.type != presentation_type::int_octal &&
8182
0
        specs.type != presentation_type::int_decimal) {
8183
0
        SCN_UNLIKELY_ATTR
8184
0
        return handler.on_error("Invalid type specifier for boolean");
8185
0
    }
8186
0
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8187
8188
#if !SCN_DISABLE_REGEX
8189
template <typename Handler>
8190
constexpr void check_regex_type_specs(const format_specs& specs,
8191
                                      Handler&& handler)
8192
0
{
8193
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8194
0
                     specs.charset_string_size == 0)) {
8195
        // clang-format off
8196
0
        return handler.on_error("Regular expression needs to be specified when reading regex_matches");
8197
        // clang-format on
8198
0
    }
8199
0
    if (specs.type == presentation_type::regex ||
8200
0
        specs.type == presentation_type::regex_escaped) {
8201
0
        return;
8202
0
    }
8203
0
    SCN_UNLIKELY_ATTR
8204
0
    handler.on_error("Invalid type specifier for regex_matches");
8205
0
}
8206
#endif
8207
8208
}  // namespace detail
8209
8210
SCN_CLANG_PUSH
8211
SCN_CLANG_IGNORE("-Wdocumentation-unknown-command")
8212
8213
/**
8214
 * \defgroup format-string Format strings
8215
 *
8216
 * \brief Format string description
8217
 *
8218
 * The format string syntax is heavily influenced by {fmt} and
8219
 * `std::format`, and is largely compatible with it. Scanning functions,
8220
 * such as `scn::scan` and
8221
 * `scn::input`, use the format string syntax described in this section.
8222
 *
8223
 * Format strings consist of:
8224
 *
8225
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8226
 *
8227
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8228
 *    `{{` and `}}`), which consume exactly one identical character from the
8229
 *    input
8230
 *
8231
 *  * Whitespace characters, which consume any and all available consecutive
8232
 *    whitespace from the input.
8233
 *
8234
 * Literal characters are matched by code point one-to-one, with no
8235
 * normalization being done.
8236
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8237
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8238
 *
8239
 * Characters (code points) are considered to be whitespace characters by
8240
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8241
 * These code points are:
8242
 *
8243
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8244
 *  * U+0085 (next line)
8245
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8246
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8247
 *
8248
 * The grammar for a replacement field is as follows:
8249
 *
8250
 * \code
8251
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8252
 * arg-id              ::= positive-integer
8253
 *
8254
 * format-spec         ::= [fill-and-align]
8255
 *                         [width] [precision]
8256
 *                         ['L'] [type]
8257
 * fill-and-align      ::= [fill] align
8258
 * fill                ::= any character other than
8259
 *                         '{' or '}'
8260
 * align               ::= one of '<' '>' '^'
8261
 * width               ::= positive-integer
8262
 * precision           ::= '.' nonnegative-integer
8263
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8264
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8265
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8266
 * \endcode
8267
 *
8268
 * \section arg-ids Argument IDs
8269
 *
8270
 * The `arg-id` specifier can be used to index arguments manually.
8271
 * If manual indexing is used, all of the indices in a format string must be
8272
 * stated explicitly. The same `arg-id` can appear in the format string
8273
 * only once, and must refer to a valid argument.
8274
 *
8275
 * \code{.cpp}
8276
 * // Format string equivalent to "{0} to {1}"
8277
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8278
 * // a->values() == (2, 300)
8279
 *
8280
 * // Manual indexing
8281
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8282
 * // b->values() == (300, 2)
8283
 *
8284
 * // INVALID:
8285
 * // Automatic and manual indexing is mixed
8286
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8287
 *
8288
 * // INVALID:
8289
 * // Same argument is referred to multiple times
8290
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8291
 *
8292
 * // INVALID:
8293
 * // {2} does not refer to an argument
8294
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8295
 * \endcode
8296
 *
8297
 * \section fill-and-align Fill and align
8298
 *
8299
 * Alignment allows for skipping character before and/or after a value.
8300
 * There are three possible values for alignment:
8301
 *
8302
 * <table>
8303
 * <caption id="align-table">
8304
 * Alignment options
8305
 * </caption>
8306
 *
8307
 * <tr><th>Option</th> <th>Meaning</th></tr>
8308
 *
8309
 * <tr>
8310
 * <td>`<`</td>
8311
 * <td>
8312
 * Align the value to the left (skips fill characters after the value)
8313
 * </td>
8314
 * </tr>
8315
 *
8316
 * <tr>
8317
 * <td>`>`</td>
8318
 * <td>
8319
 * Align the value to the right (skips fill characters before the value)
8320
 * </td>
8321
 * </tr>
8322
 *
8323
 * <tr>
8324
 * <td>`^`</td>
8325
 * <td>
8326
 * Align the value to the center
8327
 * (skips fill characters both before and after the value)
8328
 * </td>
8329
 * </tr>
8330
 * </table>
8331
 *
8332
 * The fill character can be any Unicode code point, except for `{` and `}`.
8333
 * The default fill is the space character `' '`.
8334
 *
8335
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8336
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8337
 * the default alignment is `>`.
8338
 * Otherwise, the default alignment is `<`.
8339
 *
8340
 * In addition to the skipping of fill characters,
8341
 * for format type specifiers with the `>` default alignment,
8342
 * preceding whitespace is automatically skipped.
8343
 * This preceding whitespace isn't counted as part of the field width,
8344
 * as described below.
8345
 *
8346
 * The number of fill characters consumed can be controlled with the width and
8347
 * precision specifiers.
8348
 *
8349
 * \section width Width
8350
 *
8351
 * Width specifies the minimum number of characters that will be read from
8352
 * the source range. It can be any unsigned integer. Any fill characters skipped
8353
 * are included in the width
8354
 *
8355
 * For the purposes of width calculation, the same algorithm is used that in
8356
 * {fmt}. Every code point has a width of one, except the following ones
8357
 * have a width of 2:
8358
 *
8359
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8360
 *   Derived Extracted Property as described by UAX#44
8361
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8362
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8363
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8364
 *
8365
 * \section precision Precision
8366
 *
8367
 * Precision specifies the maximum number of characters that will be read from
8368
 * the source range. The method for counting characters is the same as above,
8369
 * with the width field.
8370
 *
8371
 * \section localized Localized
8372
 *
8373
 * The `L` flag enables localized scanning.
8374
 * Its effects are different for each type it is used with:
8375
 *
8376
 *  * For integers, it enables locale-specific thousands separators
8377
 *  * For floating-point numbers, it enables locale-specific thousands and
8378
 *    radix (decimal) separators
8379
 *  * For booleans, it enables locale-specific textual representations (for
8380
 *    `true` and `false`)
8381
 *  * For other types, it has no effect
8382
 *
8383
 * \section type Type specifier
8384
 *
8385
 * The type specifier determines how the data is to be scanned.
8386
 * The type of the argument to be scanned determines what flags are valid.
8387
 *
8388
 * \subsection type-string Type specifier: strings
8389
 *
8390
 * <table>
8391
 * <caption id="type-string-table">
8392
 * String types (`std::basic_string` and `std::basic_string_view`)
8393
 * </caption>
8394
 * <tr><th>Type</th> <th>Meaning</th></tr>
8395
 * <tr>
8396
 * <td>none, `s`</td>
8397
 * <td>
8398
 * Copies from the input until a whitespace character is encountered, or,
8399
 * if using the `<` (left) or `^` (center) alignment,
8400
 * a fill character is encountered.
8401
 * </td>
8402
 * </tr>
8403
 * <tr>
8404
 * <td>`c`</td>
8405
 * <td>
8406
 * Copies from the input until the field width is exhausted.
8407
 * Doesn't skip preceding whitespace.
8408
 * Errors if no field precision is provided.
8409
 * </td>
8410
 * </tr>
8411
 * <tr>
8412
 * <td>`[...]`</td>
8413
 * <td>
8414
 * Character set matching: copies from the input until a character not specified
8415
 * in the set is encountered. Character ranges can be specified with `-`, and
8416
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8417
 * arbitrary Unicode code points.
8418
 * Doesn't skip preceding whitespace.
8419
 * </td>
8420
 * </tr>
8421
 * <tr>
8422
 * <td>`/<regex>/<flags>`</td>
8423
 * <td>
8424
 * Regular expression matching: copies from the input until the input does not
8425
 * match the regex.
8426
 * Doesn't skip preceding whitespace.
8427
 * \see regex
8428
 * </td>
8429
 * </tr>
8430
 * </table>
8431
 *
8432
 * \note `std::basic_string_view` can only be scanned if the source is
8433
 * contiguous.
8434
 *
8435
 * \subsection type-int Type specifier: integers
8436
 *
8437
 * Integer values are scanned as if by using `std::from_chars`,
8438
 * except a positive `+` sign and a base prefix (like `0x`) are always
8439
 * allowed to be present.
8440
 *
8441
 * <table>
8442
 * <caption id="type-int-table">
8443
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8444
 * `int`, `long`, and `long long`)
8445
 * </caption>
8446
 * <tr><th>Type</th> <th>Meaning</th></tr>
8447
 * <tr>
8448
 * <td>`b`, `B`</td>
8449
 * <td>
8450
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8451
 * </td>
8452
 * </tr>
8453
 * <tr>
8454
 * <td>`o`, `O`</td>
8455
 * <td>
8456
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8457
 * `0`.
8458
 * </td>
8459
 * </tr>
8460
 * <tr>
8461
 * <td>`x`, `X`</td>
8462
 * <td>
8463
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8464
 * </td>
8465
 * </tr>
8466
 * <tr>
8467
 * <td>`d`</td>
8468
 * <td>
8469
 * `std::from_chars` with base `10`. No base prefix allowed.
8470
 * </td>
8471
 * </tr>
8472
 * <tr>
8473
 * <td>`u`</td>
8474
 * <td>
8475
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8476
 * </td>
8477
 * </tr>
8478
 * <tr>
8479
 * <td>`i`</td>
8480
 * <td>
8481
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8482
 * </td>
8483
 * </tr>
8484
 * <tr>
8485
 * <td>`rXX` (where XX = [2, 36])</td>
8486
 * <td>
8487
 * Custom base, without a base prefix (r stands for radix).
8488
 * </td>
8489
 * </tr>
8490
 * <tr>
8491
 * <td>`c`</td>
8492
 * <td>
8493
 * Copies a character (code unit) from the input.
8494
 * </td>
8495
 * </tr>
8496
 * <tr>
8497
 * <td>none</td>
8498
 * <td>
8499
 * Same as `d`.
8500
 * </td>
8501
 * </tr>
8502
 * </table>
8503
 *
8504
 * \subsection type-char Type specifier: characters
8505
 *
8506
 * <table>
8507
 * <caption id="type-char-table">
8508
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8509
 * </caption>
8510
 * <tr><th>Type</th> <th>Meaning</th></tr>
8511
 * <tr>
8512
 * <td>none, `c`</td>
8513
 * <td>
8514
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8515
 * input.
8516
 * </td>
8517
 * </tr>
8518
 * <tr>
8519
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8520
 * <td>
8521
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8522
 * </td>
8523
 * </tr>
8524
 * </table>
8525
 *
8526
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8527
 * read a single code unit at a time, and encoding is not respected.
8528
 *
8529
 * \subsection type-float Type specifier: floating-point values
8530
 *
8531
 * Floating-point values are scanned as if by using `std::from_chars`,
8532
 * except a positive `+` sign and a base prefix (like `0x`) are always
8533
 * allowed to be present.
8534
 *
8535
 * <table>
8536
 * <caption id="type-float-table">
8537
 * Floating-point types (`float`, `double`, and `long double`)
8538
 * </caption>
8539
 * <tr><th>Type</th> <th>Meaning</th></tr>
8540
 * <tr>
8541
 * <td>`a`, `A`</td>
8542
 * <td>
8543
 * `std::from_chars` with `std::chars_format::hex`.
8544
 * Prefix `0x`/`0X` is allowed.
8545
 * </td>
8546
 * </tr>
8547
 * <tr>
8548
 * <td>`e`, `E`</td>
8549
 * <td>
8550
 * `std::from_chars` with `std::chars_format::scientific`.
8551
 * </td>
8552
 * </tr>
8553
 * <tr>
8554
 * <td>`f`, `F`</td>
8555
 * <td>
8556
 * `std::from_chars` with `std::chars_format::fixed`.
8557
 * </td>
8558
 * </tr>
8559
 * <tr>
8560
 * <td>`g`, `G`</td>
8561
 * <td>
8562
 * `std::from_chars` with `std::chars_format::general`.
8563
 * </td>
8564
 * </tr>
8565
 * <tr>
8566
 * <td>none</td>
8567
 * <td>
8568
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8569
 * Prefix `0x`/`0X` is allowed.
8570
 * </td>
8571
 * </tr>
8572
 * </table>
8573
 *
8574
 * \subsection type-bool Type specifier: booleans
8575
 *
8576
 * <table>
8577
 * <caption id="type-bool-table">
8578
 * `bool`
8579
 * </caption>
8580
 * <tr><th>Type</th> <th>Meaning</th></tr>
8581
 * <tr>
8582
 * <td>`s`</td>
8583
 * <td>
8584
 * Allows for the textual representation (`true` or `false`).
8585
 * </td>
8586
 * </tr>
8587
 * <tr>
8588
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8589
 * <td>
8590
 * Allows for the integral/numeric representation (`0` or `1`).
8591
 * </td>
8592
 * </tr>
8593
 * <tr>
8594
 * <td>none</td>
8595
 * <td>
8596
 * Allows for both the textual and the integral/numeric representation.
8597
 * </td>
8598
 * </tr>
8599
 * </table>
8600
 */
8601
8602
SCN_CLANG_POP  // -Wdocumentation-unknown-command
8603
8604
    namespace detail
8605
{
8606
}
8607
8608
namespace detail {
8609
/**
8610
 * A runtime format string
8611
 *
8612
 * \ingroup format-string
8613
 */
8614
template <typename CharT>
8615
struct basic_runtime_format_string {
8616
368k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8616
179k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8616
189k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8617
8618
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8619
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8620
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8621
        delete;
8622
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8623
        delete;
8624
    ~basic_runtime_format_string() = default;
8625
8626
    std::basic_string_view<CharT> str;
8627
};
8628
}  // namespace detail
8629
8630
/**
8631
 * Create a runtime format string
8632
 *
8633
 * Can be used to avoid compile-time format string checking
8634
 *
8635
 * \ingroup format-string
8636
 */
8637
inline detail::basic_runtime_format_string<char> runtime_format(
8638
    std::string_view s)
8639
179k
{
8640
179k
    return s;
8641
179k
}
8642
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8643
    std::wstring_view s)
8644
189k
{
8645
189k
    return s;
8646
189k
}
8647
8648
namespace detail {
8649
struct compile_string {};
8650
8651
template <typename Str>
8652
inline constexpr bool is_compile_string_v =
8653
    std::is_base_of_v<compile_string, Str>;
8654
8655
template <typename Scanner, typename ParseCtx>
8656
using dt_scanner_parse =
8657
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8658
template <typename Scanner, typename T, typename Ctx>
8659
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8660
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8661
8662
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8663
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8664
    ParseCtx& parse_ctx)
8665
{
8666
    static_assert(
8667
        std::is_default_constructible_v<Scanner>,
8668
        "Specializations of scn::scanner must be default constructible");
8669
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8670
                  "Specializations of scn::scanner must have a "
8671
                  "parse(ParseContext&) member function.");
8672
    static_assert(
8673
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8674
                       typename ParseCtx::iterator>,
8675
        "scn::scanner::parse(ParseContext&) must return "
8676
        "ParseContext::iterator. To report an error from scanner::parse, "
8677
        "either throw an exception derived from scn::scan_format_string_error, "
8678
        "or call ParseContext::on_error.");
8679
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8680
                  "Specializations of scn::scanner must have a "
8681
                  "scan(T&, Context&) const member function.");
8682
    static_assert(
8683
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8684
                       scan_expected<typename Ctx::iterator>>,
8685
        "scn::scanner::scan(T&, Context&) must return "
8686
        "scan_expected<Context::iterator>.");
8687
8688
    auto s = Scanner{};
8689
    return s.parse(parse_ctx);
8690
}
8691
8692
template <typename T, typename Ctx, typename ParseCtx>
8693
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8694
{
8695
    using char_type = typename Ctx::char_type;
8696
    using map_result =
8697
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8698
            SCN_DECLVAL(T&)))>;
8699
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8700
        // Error will be reported by static_assert in make_value(),
8701
        // let's not muddy the compiler error by making more of them.
8702
        return parse_ctx.begin();
8703
    }
8704
    else {
8705
        using mapped_type =
8706
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8707
                                   arg_type::custom_type,
8708
                               map_result, T>;
8709
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8710
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8711
            parse_ctx);
8712
    }
8713
}
8714
8715
template <typename CharT, typename Source, typename... Args>
8716
class format_string_checker {
8717
public:
8718
    using parse_context_type = compile_parse_context<CharT>;
8719
    static constexpr auto num_args = sizeof...(Args);
8720
8721
    explicit constexpr format_string_checker(
8722
        std::basic_string_view<CharT> format_str)
8723
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8724
          m_parse_funcs{&parse_format_specs<Args,
8725
                                            default_context<CharT>,
8726
                                            parse_context_type>...},
8727
          m_types{arg_type_constant<Args, CharT>::value...}
8728
    {
8729
    }
8730
8731
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8732
    {
8733
        // TODO: Do we want to validate Unicode in format strings?
8734
        // We're dealing with text, so we probably do.
8735
        // We could do codeunit-to-codeunit matching,
8736
        // but that could get messy wrt. whitespace matching.
8737
        // It's simpler to not allow nonsense.
8738
        while (begin != end) {
8739
            const auto len = code_point_length_by_starting_code_unit(*begin);
8740
            if (SCN_UNLIKELY(len == 0 ||
8741
                             static_cast<size_t>(end - begin) < len)) {
8742
                return on_error("Invalid encoding in format string");
8743
            }
8744
8745
            const auto cp = decode_code_point_exhaustive(
8746
                std::basic_string_view<CharT>{begin, len});
8747
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8748
                return on_error("Invalid encoding in format string");
8749
            }
8750
8751
            begin += len;
8752
        }
8753
    }
8754
8755
    constexpr auto on_arg_id()
8756
    {
8757
        return m_parse_context.next_arg_id();
8758
    }
8759
    constexpr auto on_arg_id(std::size_t id)
8760
    {
8761
        m_parse_context.check_arg_id(id);
8762
        return id;
8763
    }
8764
8765
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8766
    {
8767
        set_arg_as_read(id);
8768
8769
        auto type = m_types[id];
8770
        check_arg_can_be_read(type);
8771
8772
        if (type == arg_type::custom_type && id < num_args) {
8773
            // Only call scanner::parse to check for errors,
8774
            // we're discarding the result.
8775
            // The advance_to dance is done to point the parse context to the
8776
            // character after the `{`; right now, it points to that
8777
            const auto beg = begin;
8778
            m_parse_context.advance_to(begin);
8779
            m_parse_funcs[id](m_parse_context);
8780
            m_parse_context.advance_to(beg);
8781
        }
8782
    }
8783
8784
    constexpr const CharT* on_format_specs(std::size_t id,
8785
                                           const CharT* begin,
8786
                                           const CharT*)
8787
    {
8788
        set_arg_as_read(id);
8789
        check_arg_can_be_read(m_types[id]);
8790
8791
        m_parse_context.advance_to(begin);
8792
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8793
    }
8794
8795
    constexpr void check_args_exhausted()
8796
    {
8797
        if constexpr (num_args == 0) {
8798
            return;
8799
        }
8800
        for (auto is_set : m_visited_args) {
8801
            if (!is_set) {
8802
                return on_error("Argument list not exhausted");
8803
            }
8804
        }
8805
    }
8806
8807
    void on_error(const char* msg)
8808
    {
8809
        SCN_UNLIKELY_ATTR
8810
        m_parse_context.on_error(msg);
8811
    }
8812
8813
    // Only to satisfy the concept and eliminate compiler errors,
8814
    // because errors are reported by failing to compile on_error above
8815
    // (it's not constexpr)
8816
    constexpr scan_expected<void> get_error() const
8817
    {
8818
        return {};
8819
    }
8820
8821
private:
8822
    constexpr void set_arg_as_read(size_t id)
8823
    {
8824
        if (id >= num_args) {
8825
            return on_error("Invalid out-of-range argument ID");
8826
        }
8827
        if (m_visited_args[id]) {
8828
            return on_error("Argument with this ID already scanned");
8829
        }
8830
        m_visited_args[id] = true;
8831
    }
8832
8833
    constexpr void check_arg_can_be_read(arg_type type)
8834
    {
8835
        if (type == arg_type::string_view_type &&
8836
            !m_parse_context.is_source_contiguous()) {
8837
            // clang-format off
8838
            return on_error("Cannot read a string_view from a non-contiguous source");
8839
            // clang-format on
8840
        }
8841
        if (type == arg_type::string_view_type &&
8842
            !m_parse_context.is_source_borrowed()) {
8843
            // clang-format off
8844
            return on_error("Cannot read a string_view from a non-borrowed source");
8845
            // clang-format on
8846
        }
8847
    }
8848
8849
    using parse_func = const CharT* (*)(parse_context_type&);
8850
8851
    parse_context_type m_parse_context;
8852
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8853
    arg_type m_types[num_args > 0 ? num_args : 1];
8854
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8855
};
8856
8857
template <typename Source, typename... Args, typename Str>
8858
constexpr auto check_format_string(const Str&)
8859
    -> std::enable_if_t<!is_compile_string_v<Str>>
8860
0
{
8861
    // TODO: SCN_ENFORE_COMPILE_STRING?
8862
#if 0  // SCN_ENFORE_COMPILE_STRING
8863
    static_assert(dependent_false<Str>::value,
8864
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8865
              "strings to use SCN_STRING.");
8866
#endif
8867
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8868
8869
template <typename Source, typename... Args, typename Str>
8870
constexpr auto check_format_string(Str format_str)
8871
    -> std::enable_if_t<is_compile_string_v<Str>>
8872
{
8873
    using char_type = typename Str::char_type;
8874
8875
    SCN_GCC_PUSH
8876
    SCN_GCC_IGNORE("-Wconversion")
8877
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8878
    SCN_GCC_POP
8879
8880
    using checker = format_string_checker<char_type, Source, Args...>;
8881
    constexpr bool invalid_format =
8882
        (parse_format_string<true>(s, checker(s)), true);
8883
    SCN_UNUSED(invalid_format);
8884
}
8885
8886
template <typename CharT, std::size_t N>
8887
constexpr std::basic_string_view<CharT> compile_string_to_view(
8888
    const CharT (&s)[N])
8889
{
8890
    return {s, N - 1};
8891
}
8892
template <typename CharT>
8893
constexpr std::basic_string_view<CharT> compile_string_to_view(
8894
    std::basic_string_view<CharT> s)
8895
{
8896
    return s;
8897
}
8898
}  // namespace detail
8899
8900
#define SCN_STRING_IMPL(s, base, expl)                                       \
8901
    [] {                                                                     \
8902
        struct SCN_COMPILE_STRING : base {                                   \
8903
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8904
            SCN_MAYBE_UNUSED constexpr expl                                  \
8905
            operator ::std::basic_string_view<char_type>() const             \
8906
            {                                                                \
8907
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8908
            }                                                                \
8909
        };                                                                   \
8910
        return SCN_COMPILE_STRING{};                                         \
8911
    }()
8912
8913
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8914
8915
/**
8916
 * Compile-time format string
8917
 *
8918
 * \ingroup format-string
8919
 */
8920
template <typename CharT, typename Source, typename... Args>
8921
class basic_scan_format_string {
8922
public:
8923
    SCN_CLANG_PUSH
8924
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8925
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8926
#endif
8927
    template <
8928
        typename S,
8929
        std::enable_if_t<
8930
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8931
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8932
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8933
0
    {
8934
#if SCN_HAS_CONSTEVAL
8935
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8936
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8937
        SCN_UNUSED(e);
8938
#else
8939
0
        detail::check_format_string<Source, Args...>(s);
8940
0
#endif
8941
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8942
    SCN_CLANG_POP
8943
8944
    template <
8945
        typename OtherSource,
8946
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8947
                                        detail::remove_cvref_t<OtherSource>> &&
8948
                         ranges::borrowed_range<Source> ==
8949
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8950
    constexpr basic_scan_format_string(
8951
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8952
        : m_str(other.get())
8953
    {
8954
    }
8955
8956
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8957
368k
        : m_str(r.str)
8958
368k
    {
8959
368k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
27.3k
        : m_str(r.str)
8958
27.3k
    {
8959
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
27.3k
        : m_str(r.str)
8958
27.3k
    {
8959
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
27.3k
        : m_str(r.str)
8958
27.3k
    {
8959
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
32.5k
        : m_str(r.str)
8958
32.5k
    {
8959
32.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
32.5k
        : m_str(r.str)
8958
32.5k
    {
8959
32.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
32.5k
        : m_str(r.str)
8958
32.5k
    {
8959
32.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
31.5k
        : m_str(r.str)
8958
31.5k
    {
8959
31.5k
    }
8960
8961
    constexpr operator std::basic_string_view<CharT>() const
8962
368k
    {
8963
368k
        return m_str;
8964
368k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
27.3k
    {
8963
27.3k
        return m_str;
8964
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
27.3k
    {
8963
27.3k
        return m_str;
8964
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
27.3k
    {
8963
27.3k
        return m_str;
8964
27.3k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
32.5k
    {
8963
32.5k
        return m_str;
8964
32.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
32.5k
    {
8963
32.5k
        return m_str;
8964
32.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
32.5k
    {
8963
32.5k
        return m_str;
8964
32.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
31.5k
    {
8963
31.5k
        return m_str;
8964
31.5k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8965
    constexpr std::basic_string_view<CharT> get() const
8966
    {
8967
        return m_str;
8968
    }
8969
8970
private:
8971
    std::basic_string_view<CharT> m_str;
8972
};
8973
8974
namespace detail {
8975
class locale_ref {
8976
#if !SCN_DISABLE_LOCALE
8977
public:
8978
199k
    constexpr locale_ref() = default;
8979
8980
    template <typename Locale>
8981
    explicit locale_ref(const Locale& loc);
8982
8983
    constexpr explicit operator bool() const noexcept
8984
0
    {
8985
0
        return m_locale != nullptr;
8986
0
    }
8987
8988
    template <typename Locale>
8989
    Locale get() const;
8990
8991
private:
8992
    const void* m_locale{nullptr};
8993
#else
8994
public:
8995
    constexpr locale_ref() = default;
8996
8997
    template <typename T>
8998
    constexpr explicit locale_ref(T&&)
8999
    {
9000
    }
9001
9002
    constexpr explicit operator bool() const noexcept
9003
    {
9004
        return true;
9005
    }
9006
#endif
9007
};
9008
}  // namespace detail
9009
9010
/////////////////////////////////////////////////////////////////
9011
// scan_context
9012
/////////////////////////////////////////////////////////////////
9013
9014
namespace detail {
9015
template <typename I>
9016
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
9017
template <typename I>
9018
inline constexpr bool is_comparable_with_nullptr =
9019
    mp_valid_v<apply_cmp_with_nullptr, I>;
9020
9021
template <typename Args>
9022
class scan_context_base {
9023
public:
9024
    /// Get argument at index `id`
9025
    constexpr auto arg(size_t id) const noexcept
9026
368k
    {
9027
368k
        return m_args.get(id);
9028
368k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
9026
179k
    {
9027
179k
        return m_args.get(id);
9028
179k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
9026
189k
    {
9027
189k
        return m_args.get(id);
9028
189k
    }
9029
9030
    constexpr const Args& args() const
9031
353k
    {
9032
353k
        return m_args;
9033
353k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Line
Count
Source
9031
164k
    {
9032
164k
        return m_args;
9033
164k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
Line
Count
Source
9031
189k
    {
9032
189k
        return m_args;
9033
189k
    }
9034
9035
    SCN_NODISCARD constexpr locale_ref locale() const
9036
717k
    {
9037
717k
        return m_locale;
9038
717k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
9036
341k
    {
9037
341k
        return m_locale;
9038
341k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
9036
376k
    {
9037
376k
        return m_locale;
9038
376k
    }
9039
9040
protected:
9041
    scan_context_base(Args args, locale_ref loc) noexcept
9042
737k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
737k
    {
9044
737k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9042
348k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
348k
    {
9044
348k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9042
388k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
388k
    {
9044
388k
    }
9045
9046
    Args m_args;
9047
    locale_ref m_locale;
9048
};
9049
}  // namespace detail
9050
9051
/**
9052
 * \defgroup ctx Contexts and scanners
9053
 *
9054
 * \brief Lower-level APIs used for scanning individual values
9055
 *
9056
 * \section user-defined Scanning user-defined types
9057
 *
9058
 * User-defined types can be scanned by specializing the class template
9059
 * `scn::scanner`.
9060
 *
9061
 * \code{.cpp}
9062
 * struct mytype {
9063
 *   int key;
9064
 *   std::string value;
9065
 * };
9066
 *
9067
 * template <>
9068
 * struct scn::scanner<mytype> {
9069
 *   template <typename ParseContext>
9070
 *   constexpr auto parse(ParseCtx& pctx)
9071
 *     -> typename ParseContext::iterator {
9072
 *     // parse() implementation just returning begin():
9073
 *     // only permits empty format specifiers
9074
 *     return pctx.begin();
9075
 *   }
9076
 *
9077
 *   template <typename Context>
9078
 *   auto scan(mytype& val, Context& ctx)
9079
 *     -> scan_expected<typename Context::iterator> {
9080
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
9081
 *       .transform([&](auto result) {
9082
 *         std::tie(val.key, val.value) = std::move(result->values());
9083
 *         return result.begin();
9084
 *       });
9085
 *   }
9086
 * };
9087
 * \endcode
9088
 *
9089
 * See also
9090
 * \ref g-usertypes
9091
 */
9092
9093
/**
9094
 * Scanning context.
9095
 *
9096
 * \ingroup ctx
9097
 */
9098
template <typename Range, typename CharT>
9099
class basic_scan_context
9100
    : public detail::scan_context_base<
9101
          basic_scan_args<basic_scan_context<Range, CharT>>> {
9102
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
9103
9104
    using args_type = basic_scan_args<basic_scan_context>;
9105
    using arg_type = basic_scan_arg<basic_scan_context>;
9106
9107
public:
9108
    /// Character type of the input
9109
    using char_type = CharT;
9110
    using range_type = std::conditional_t<
9111
        std::is_same_v<Range, detail::buffer_range_tag>,
9112
        typename detail::basic_scan_buffer<char_type>::range_type,
9113
        Range>;
9114
    using iterator = ranges::iterator_t<range_type>;
9115
    using sentinel = ranges::sentinel_t<range_type>;
9116
    using parse_context_type = basic_scan_parse_context<char_type>;
9117
9118
    /**
9119
     * The scanner type associated with this scanning context.
9120
     */
9121
    template <typename T>
9122
    using scanner_type = scanner<T, char_type>;
9123
9124
    constexpr basic_scan_context(iterator curr,
9125
                                 args_type a,
9126
                                 detail::locale_ref loc = {}) noexcept
9127
384k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
384k
    {
9129
384k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9127
184k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
184k
    {
9129
184k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9127
199k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
199k
    {
9129
199k
    }
9130
9131
    basic_scan_context(const basic_scan_context&) = delete;
9132
    basic_scan_context& operator=(const basic_scan_context&) = delete;
9133
9134
    basic_scan_context(basic_scan_context&&) = default;
9135
    basic_scan_context& operator=(basic_scan_context&&) = default;
9136
    ~basic_scan_context() = default;
9137
9138
    /**
9139
     * Returns an iterator pointing to the current position in the source
9140
     * range.
9141
     */
9142
    constexpr iterator begin() const
9143
1.42M
    {
9144
1.42M
        return m_current;
9145
1.42M
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Line
Count
Source
9143
767k
    {
9144
767k
        return m_current;
9145
767k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
Line
Count
Source
9143
656k
    {
9144
656k
        return m_current;
9145
656k
    }
9146
9147
    /**
9148
     * Returns a sentinel pointing to the end of the source range.
9149
     */
9150
    constexpr sentinel end() const
9151
381k
    {
9152
381k
        return ranges::default_sentinel;
9153
381k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Line
Count
Source
9151
193k
    {
9152
193k
        return ranges::default_sentinel;
9153
193k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
Line
Count
Source
9151
188k
    {
9152
188k
        return ranges::default_sentinel;
9153
188k
    }
9154
9155
    /**
9156
     * Returns a subrange over `[begin(), end())`
9157
     */
9158
    constexpr auto range() const
9159
381k
    {
9160
381k
        return ranges::subrange{begin(), end()};
9161
381k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Line
Count
Source
9159
193k
    {
9160
193k
        return ranges::subrange{begin(), end()};
9161
193k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
Line
Count
Source
9159
188k
    {
9160
188k
        return ranges::subrange{begin(), end()};
9161
188k
    }
9162
9163
    /// Advances the beginning of the source range to `it`
9164
    void advance_to(iterator it)
9165
425k
    {
9166
425k
        m_current = SCN_MOVE(it);
9167
425k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
9165
264k
    {
9166
264k
        m_current = SCN_MOVE(it);
9167
264k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
9165
160k
    {
9166
160k
        m_current = SCN_MOVE(it);
9167
160k
    }
9168
9169
private:
9170
    iterator m_current;
9171
};
9172
9173
namespace detail {
9174
template <typename T, typename ParseCtx>
9175
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9176
    ParseCtx& pctx,
9177
    format_specs& specs);
9178
9179
template <typename T, typename Context>
9180
scan_expected<typename Context::iterator>
9181
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9182
9183
template <typename T, typename CharT>
9184
struct builtin_scanner {
9185
    template <typename ParseCtx>
9186
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9187
    {
9188
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9189
    }
9190
9191
    template <typename Context>
9192
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9193
    {
9194
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9195
    }
9196
9197
protected:
9198
    format_specs m_specs;
9199
};
9200
}  // namespace detail
9201
9202
/////////////////////////////////////////////////////////////////
9203
// scanner
9204
/////////////////////////////////////////////////////////////////
9205
9206
/**
9207
 * `scanner` specialization for all built-in types
9208
 *
9209
 * \ingroup ctx
9210
 */
9211
template <typename T, typename CharT>
9212
struct scanner<T,
9213
               CharT,
9214
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9215
                                    detail::arg_type::custom_type &&
9216
                                !detail::is_type_disabled<T>>>
9217
    : detail::builtin_scanner<T, CharT> {};
9218
9219
namespace detail {
9220
template <typename T, typename ParseCtx>
9221
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9222
    ParseCtx& pctx,
9223
    format_specs& specs)
9224
{
9225
    using char_type = typename ParseCtx::char_type;
9226
9227
    auto begin = pctx.begin();
9228
    const auto end = pctx.end();
9229
9230
    using handler_type = specs_setter;
9231
    constexpr auto type = arg_type_constant<T, char_type>::value;
9232
    auto checker =
9233
        detail::specs_checker<handler_type>(handler_type(specs), type);
9234
9235
    const auto it =
9236
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9237
9238
    switch (type) {
9239
        case arg_type::none_type:
9240
            SCN_FALLTHROUGH;
9241
        case arg_type::custom_type:
9242
            SCN_ENSURE(false);
9243
            break;
9244
9245
        case arg_type::bool_type:
9246
            check_bool_type_specs(specs, checker);
9247
            break;
9248
9249
        case arg_type::schar_type:
9250
        case arg_type::short_type:
9251
        case arg_type::int_type:
9252
        case arg_type::long_type:
9253
        case arg_type::llong_type:
9254
        case arg_type::int128_type:
9255
        case arg_type::uchar_type:
9256
        case arg_type::ushort_type:
9257
        case arg_type::uint_type:
9258
        case arg_type::ulong_type:
9259
        case arg_type::ullong_type:
9260
        case arg_type::uint128_type:
9261
            check_int_type_specs(specs, checker);
9262
            break;
9263
9264
        case arg_type::narrow_character_type:
9265
        case arg_type::wide_character_type:
9266
        case arg_type::code_point_type:
9267
            check_char_type_specs(specs, checker);
9268
            break;
9269
9270
        case arg_type::float_type:
9271
        case arg_type::double_type:
9272
        case arg_type::ldouble_type:
9273
        case arg_type::float16_type:
9274
        case arg_type::float32_type:
9275
        case arg_type::float64_type:
9276
        case arg_type::float128_type:
9277
        case arg_type::bfloat16_type:
9278
            check_float_type_specs(specs, checker);
9279
            break;
9280
9281
        case arg_type::narrow_string_type:
9282
        case arg_type::wide_string_type:
9283
        case arg_type::string_view_type:
9284
            check_string_type_specs(specs, checker);
9285
            break;
9286
9287
        case arg_type::pointer_type:
9288
            check_pointer_type_specs(specs, checker);
9289
            break;
9290
9291
            SCN_CLANG_PUSH
9292
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9293
9294
        default:
9295
            SCN_ENSURE(false);
9296
            SCN_UNREACHABLE;
9297
9298
            SCN_CLANG_POP
9299
    }
9300
9301
#if !SCN_DISABLE_REGEX
9302
    if (specs.type == presentation_type::regex ||
9303
        specs.type == presentation_type::regex_escaped) {
9304
        if (!pctx.is_source_contiguous()) {
9305
            SCN_UNLIKELY_ATTR
9306
            // clang-format off
9307
            checker.on_error("Cannot read a regex from a non-contiguous source");
9308
            // clang-format on
9309
        }
9310
        if (!pctx.is_source_borrowed()) {
9311
            SCN_UNLIKELY_ATTR
9312
            checker.on_error("Cannot read a regex from a non-borrowed source");
9313
        }
9314
    }
9315
#endif
9316
9317
    return it;
9318
}
9319
}  // namespace detail
9320
9321
/**
9322
 * Type for discarding any scanned value.
9323
 * Example:
9324
 *
9325
 * \code{.cpp}
9326
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9327
 * // r.has_value() == true
9328
 * // decltype(r->value()) is scn::discard<int>
9329
 * \endcode
9330
 *
9331
 * \ingroup format-string
9332
 */
9333
template <typename T>
9334
struct discard {
9335
    constexpr discard() = default;
9336
9337
    constexpr discard(const T&) noexcept {}
9338
    constexpr discard(T&&) noexcept {}
9339
9340
    constexpr discard& operator=(const T&) noexcept
9341
    {
9342
        return *this;
9343
    }
9344
    constexpr discard& operator=(T&&) noexcept
9345
    {
9346
        return *this;
9347
    }
9348
};
9349
9350
template <typename T, typename CharT>
9351
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9352
    template <typename Context>
9353
    auto scan(discard<T>&, Context& ctx) const
9354
    {
9355
        T val{};
9356
        return scanner<T, CharT>::scan(val, ctx);
9357
    }
9358
};
9359
9360
namespace detail {
9361
template <typename Range>
9362
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9363
    Range r,
9364
    bool allow_exhaustion);
9365
9366
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9367
    extern template scan_expected<Context::iterator>         \
9368
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9369
9370
#if SCN_HAS_INT128
9371
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9372
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9373
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9374
#else
9375
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9376
#endif
9377
9378
#if SCN_HAS_STD_F16
9379
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) \
9380
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float16_t, Context)
9381
#else
9382
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) /* std::float16_t */
9383
#endif
9384
9385
#if SCN_HAS_STD_F32
9386
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) \
9387
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float32_t, Context)
9388
#else
9389
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) /* std::float32_t */
9390
#endif
9391
9392
#if SCN_HAS_STD_F64
9393
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) \
9394
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float64_t, Context)
9395
#else
9396
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) /* std::float64_t */
9397
#endif
9398
9399
#if SCN_HAS_STD_F128
9400
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context) \
9401
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float128_t, Context)
9402
#else
9403
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)  /* std::float128_t \
9404
                                                            */
9405
#endif
9406
9407
#if SCN_HAS_STD_BF16
9408
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context) \
9409
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::bfloat16_t, Context)
9410
#else
9411
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)  /* std::bfloat16_t \
9412
                                                            */
9413
#endif
9414
9415
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context) \
9416
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context)           \
9417
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context)           \
9418
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context)           \
9419
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)          \
9420
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)
9421
9422
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9423
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9424
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9425
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9426
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9427
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9428
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9429
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9430
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9431
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9432
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9433
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9434
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9435
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9436
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9437
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9438
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9439
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9440
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9441
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9442
        std::basic_string_view<Context::char_type>, Context)               \
9443
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9444
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9445
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9446
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context)                 \
9447
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9448
    internal_skip_classic_whitespace(Context::range_type, bool);
9449
9450
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9451
9452
}  // namespace detail
9453
9454
/////////////////////////////////////////////////////////////////
9455
// visit_scan_arg
9456
/////////////////////////////////////////////////////////////////
9457
9458
namespace detail {
9459
9460
template <typename Visitor, typename Ctx>
9461
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9462
384k
{
9463
384k
#define SCN_VISIT(Type)                                                    \
9464
384k
    do {                                                                   \
9465
0
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
0
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
0
        }                                                                  \
9468
0
        else {                                                             \
9469
0
            return vis(monostate_val);                                     \
9470
0
        }                                                                  \
9471
0
    } while (false)
9472
9473
384k
    monostate monostate_val{};
9474
9475
384k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
384k
        case detail::arg_type::custom_type:
9568
384k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
384k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
384k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
384k
            SCN_CLANG_POP
9585
384k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
2.57k
{
9463
2.57k
#define SCN_VISIT(Type)                                                    \
9464
2.57k
    do {                                                                   \
9465
2.57k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
2.57k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
2.57k
        }                                                                  \
9468
2.57k
        else {                                                             \
9469
2.57k
            return vis(monostate_val);                                     \
9470
2.57k
        }                                                                  \
9471
2.57k
    } while (false)
9472
9473
2.57k
    monostate monostate_val{};
9474
9475
2.57k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
2.57k
        case detail::arg_type::custom_type:
9568
2.57k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
2.57k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
2.57k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
2.57k
            SCN_CLANG_POP
9585
2.57k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
2.57k
{
9463
2.57k
#define SCN_VISIT(Type)                                                    \
9464
2.57k
    do {                                                                   \
9465
2.57k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
2.57k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
2.57k
        }                                                                  \
9468
2.57k
        else {                                                             \
9469
2.57k
            return vis(monostate_val);                                     \
9470
2.57k
        }                                                                  \
9471
2.57k
    } while (false)
9472
9473
2.57k
    monostate monostate_val{};
9474
9475
2.57k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
2.57k
        case detail::arg_type::custom_type:
9568
2.57k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
2.57k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
2.57k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
2.57k
            SCN_CLANG_POP
9585
2.57k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
179k
{
9463
179k
#define SCN_VISIT(Type)                                                    \
9464
179k
    do {                                                                   \
9465
179k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
179k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
179k
        }                                                                  \
9468
179k
        else {                                                             \
9469
179k
            return vis(monostate_val);                                     \
9470
179k
        }                                                                  \
9471
179k
    } while (false)
9472
9473
179k
    monostate monostate_val{};
9474
9475
179k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
179k
        case detail::arg_type::custom_type:
9568
179k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
179k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
179k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
179k
            SCN_CLANG_POP
9585
179k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
5.15k
{
9463
5.15k
#define SCN_VISIT(Type)                                                    \
9464
5.15k
    do {                                                                   \
9465
5.15k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
5.15k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
5.15k
        }                                                                  \
9468
5.15k
        else {                                                             \
9469
5.15k
            return vis(monostate_val);                                     \
9470
5.15k
        }                                                                  \
9471
5.15k
    } while (false)
9472
9473
5.15k
    monostate monostate_val{};
9474
9475
5.15k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
5.15k
        case detail::arg_type::custom_type:
9568
5.15k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
5.15k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
5.15k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
5.15k
            SCN_CLANG_POP
9585
5.15k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
189k
{
9463
189k
#define SCN_VISIT(Type)                                                    \
9464
189k
    do {                                                                   \
9465
189k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
189k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
189k
        }                                                                  \
9468
189k
        else {                                                             \
9469
189k
            return vis(monostate_val);                                     \
9470
189k
        }                                                                  \
9471
189k
    } while (false)
9472
9473
189k
    monostate monostate_val{};
9474
9475
189k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
189k
        case detail::arg_type::custom_type:
9568
189k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
189k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
189k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
189k
            SCN_CLANG_POP
9585
189k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
5.15k
{
9463
5.15k
#define SCN_VISIT(Type)                                                    \
9464
5.15k
    do {                                                                   \
9465
5.15k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
5.15k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
5.15k
        }                                                                  \
9468
5.15k
        else {                                                             \
9469
5.15k
            return vis(monostate_val);                                     \
9470
5.15k
        }                                                                  \
9471
5.15k
    } while (false)
9472
9473
5.15k
    monostate monostate_val{};
9474
9475
5.15k
    switch (get_arg_type(arg)) {
9476
0
        case detail::arg_type::schar_type:
9477
0
            SCN_VISIT(signed char);
9478
0
        case detail::arg_type::short_type:
9479
0
            SCN_VISIT(short);
9480
0
        case detail::arg_type::int_type:
9481
0
            SCN_VISIT(int);
9482
0
        case detail::arg_type::long_type:
9483
0
            SCN_VISIT(long);
9484
0
        case detail::arg_type::llong_type:
9485
0
            SCN_VISIT(long long);
9486
0
        case detail::arg_type::int128_type:
9487
0
#if SCN_HAS_INT128
9488
0
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
0
        case detail::arg_type::uchar_type:
9493
0
            SCN_VISIT(unsigned char);
9494
0
        case detail::arg_type::ushort_type:
9495
0
            SCN_VISIT(unsigned short);
9496
0
        case detail::arg_type::uint_type:
9497
0
            SCN_VISIT(unsigned);
9498
0
        case detail::arg_type::ulong_type:
9499
0
            SCN_VISIT(unsigned long);
9500
0
        case detail::arg_type::ullong_type:
9501
0
            SCN_VISIT(unsigned long long);
9502
0
        case detail::arg_type::uint128_type:
9503
0
#if SCN_HAS_INT128
9504
0
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
0
        case detail::arg_type::pointer_type:
9509
0
            SCN_VISIT(void*);
9510
0
        case detail::arg_type::bool_type:
9511
0
            SCN_VISIT(bool);
9512
0
        case detail::arg_type::narrow_character_type:
9513
0
            SCN_VISIT(char);
9514
0
        case detail::arg_type::wide_character_type:
9515
0
            SCN_VISIT(wchar_t);
9516
0
        case detail::arg_type::code_point_type:
9517
0
            SCN_VISIT(char32_t);
9518
0
        case detail::arg_type::float_type:
9519
0
            SCN_VISIT(float);
9520
0
        case detail::arg_type::double_type:
9521
0
            SCN_VISIT(double);
9522
0
        case detail::arg_type::ldouble_type:
9523
0
            SCN_VISIT(long double);
9524
0
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
0
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
5.15k
        case detail::arg_type::custom_type:
9568
5.15k
#if !SCN_DISABLE_TYPE_CUSTOM
9569
5.15k
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
5.15k
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
5.15k
            SCN_CLANG_POP
9585
5.15k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
9592
9593
}  // namespace detail
9594
9595
template <typename Visitor, typename Ctx>
9596
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9597
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9598
{
9599
    return detail::visit_impl(SCN_FWD(vis), arg);
9600
}
9601
9602
template <typename Context>
9603
template <typename Visitor>
9604
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9605
384k
{
9606
384k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
384k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9605
2.57k
{
9606
2.57k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
2.57k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9605
2.57k
{
9606
2.57k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
2.57k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9605
179k
{
9606
179k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
179k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9605
5.15k
{
9606
5.15k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
5.15k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9605
189k
{
9606
189k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
189k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9605
5.15k
{
9606
5.15k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
5.15k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
9608
9609
template <typename Context>
9610
template <typename R, typename Visitor>
9611
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9612
{
9613
    return detail::visit_impl(SCN_FWD(vis), *this);
9614
}
9615
9616
/////////////////////////////////////////////////////////////////
9617
// vscan
9618
/////////////////////////////////////////////////////////////////
9619
9620
/**
9621
 * \defgroup vscan Type-erased scanning API
9622
 *
9623
 * \brief Lower-level scanning API with type-erased arguments
9624
 */
9625
9626
namespace detail {
9627
template <typename Source>
9628
using scan_result_value_type =
9629
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9630
                       std::FILE*,
9631
                       borrowed_tail_subrange_t<Source>>;
9632
}
9633
9634
/**
9635
 * Result type returned by `vscan`.
9636
 *
9637
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9638
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9639
 *
9640
 * \ingroup vscan
9641
 */
9642
template <typename Source>
9643
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9644
9645
namespace detail {
9646
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9647
                                         std::string_view format,
9648
                                         scan_args args);
9649
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9650
                                         std::string_view format,
9651
                                         scan_args args);
9652
9653
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9654
                                         std::wstring_view format,
9655
                                         wscan_args args);
9656
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9657
                                         std::wstring_view format,
9658
                                         wscan_args args);
9659
9660
#if !SCN_DISABLE_LOCALE
9661
template <typename Locale>
9662
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9663
                                                   std::string_view source,
9664
                                                   std::string_view format,
9665
                                                   scan_args args);
9666
template <typename Locale>
9667
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9668
                                                   scan_buffer& source,
9669
                                                   std::string_view format,
9670
                                                   scan_args args);
9671
9672
template <typename Locale>
9673
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9674
                                                   std::wstring_view source,
9675
                                                   std::wstring_view format,
9676
                                                   wscan_args args);
9677
template <typename Locale>
9678
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9679
                                                   wscan_buffer& source,
9680
                                                   std::wstring_view format,
9681
                                                   wscan_args args);
9682
#endif
9683
9684
scan_expected<std::ptrdiff_t> vscan_value_impl(
9685
    std::string_view source,
9686
    basic_scan_arg<scan_context> arg);
9687
scan_expected<std::ptrdiff_t> vscan_value_impl(
9688
    scan_buffer& source,
9689
    basic_scan_arg<scan_context> arg);
9690
9691
scan_expected<std::ptrdiff_t> vscan_value_impl(
9692
    std::wstring_view source,
9693
    basic_scan_arg<wscan_context> arg);
9694
scan_expected<std::ptrdiff_t> vscan_value_impl(
9695
    wscan_buffer& source,
9696
    basic_scan_arg<wscan_context> arg);
9697
9698
template <typename Range, typename CharT>
9699
auto vscan_generic(Range&& range,
9700
                   std::basic_string_view<CharT> format,
9701
                   basic_scan_args<detail::default_context<CharT>> args)
9702
    -> vscan_result<Range>
9703
184k
{
9704
184k
    auto buffer = make_scan_buffer(range);
9705
9706
184k
    auto result = vscan_impl(buffer, format, args);
9707
184k
    if (SCN_UNLIKELY(!result)) {
9708
108k
        return unexpected(result.error());
9709
108k
    }
9710
76.1k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
184k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9703
41.0k
{
9704
41.0k
    auto buffer = make_scan_buffer(range);
9705
9706
41.0k
    auto result = vscan_impl(buffer, format, args);
9707
41.0k
    if (SCN_UNLIKELY(!result)) {
9708
18.0k
        return unexpected(result.error());
9709
18.0k
    }
9710
22.9k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
41.0k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9703
48.7k
{
9704
48.7k
    auto buffer = make_scan_buffer(range);
9705
9706
48.7k
    auto result = vscan_impl(buffer, format, args);
9707
48.7k
    if (SCN_UNLIKELY(!result)) {
9708
18.0k
        return unexpected(result.error());
9709
18.0k
    }
9710
30.7k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
48.7k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9703
47.3k
{
9704
47.3k
    auto buffer = make_scan_buffer(range);
9705
9706
47.3k
    auto result = vscan_impl(buffer, format, args);
9707
47.3k
    if (SCN_UNLIKELY(!result)) {
9708
36.0k
        return unexpected(result.error());
9709
36.0k
    }
9710
11.2k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
47.3k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9703
47.3k
{
9704
47.3k
    auto buffer = make_scan_buffer(range);
9705
9706
47.3k
    auto result = vscan_impl(buffer, format, args);
9707
47.3k
    if (SCN_UNLIKELY(!result)) {
9708
36.0k
        return unexpected(result.error());
9709
36.0k
    }
9710
11.2k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
47.3k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
9712
9713
template <typename Locale, typename Range, typename CharT>
9714
auto vscan_localized_generic(
9715
    const Locale& loc,
9716
    Range&& range,
9717
    std::basic_string_view<CharT> format,
9718
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9719
184k
{
9720
184k
#if !SCN_DISABLE_LOCALE
9721
184k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
184k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
184k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
184k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
184k
    if (SCN_UNLIKELY(!result)) {
9728
108k
        return unexpected(result.error());
9729
108k
    }
9730
76.1k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
184k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9719
41.0k
{
9720
41.0k
#if !SCN_DISABLE_LOCALE
9721
41.0k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
41.0k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
41.0k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
41.0k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
41.0k
    if (SCN_UNLIKELY(!result)) {
9728
18.0k
        return unexpected(result.error());
9729
18.0k
    }
9730
22.9k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
41.0k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9719
48.7k
{
9720
48.7k
#if !SCN_DISABLE_LOCALE
9721
48.7k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
48.7k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
48.7k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
48.7k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
48.7k
    if (SCN_UNLIKELY(!result)) {
9728
18.0k
        return unexpected(result.error());
9729
18.0k
    }
9730
30.7k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
48.7k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9719
47.3k
{
9720
47.3k
#if !SCN_DISABLE_LOCALE
9721
47.3k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
47.3k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
47.3k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
47.3k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
47.3k
    if (SCN_UNLIKELY(!result)) {
9728
36.0k
        return unexpected(result.error());
9729
36.0k
    }
9730
11.2k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
47.3k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9719
47.3k
{
9720
47.3k
#if !SCN_DISABLE_LOCALE
9721
47.3k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
47.3k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
47.3k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
47.3k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
47.3k
    if (SCN_UNLIKELY(!result)) {
9728
36.0k
        return unexpected(result.error());
9729
36.0k
    }
9730
11.2k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
47.3k
}
9738
9739
template <typename Range, typename CharT>
9740
auto vscan_value_generic(Range&& range,
9741
                         basic_scan_arg<detail::default_context<CharT>> arg)
9742
    -> vscan_result<Range>
9743
15.4k
{
9744
15.4k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
15.4k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
15.4k
    if (SCN_UNLIKELY(!result)) {
9748
15.4k
        return unexpected(result.error());
9749
15.4k
    }
9750
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
15.4k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
2.57k
{
9744
2.57k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
2.57k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
2.57k
    if (SCN_UNLIKELY(!result)) {
9748
2.57k
        return unexpected(result.error());
9749
2.57k
    }
9750
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
2.57k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
2.57k
{
9744
2.57k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
2.57k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
2.57k
    if (SCN_UNLIKELY(!result)) {
9748
2.57k
        return unexpected(result.error());
9749
2.57k
    }
9750
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
2.57k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
5.15k
{
9744
5.15k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
5.15k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
5.15k
    if (SCN_UNLIKELY(!result)) {
9748
5.15k
        return unexpected(result.error());
9749
5.15k
    }
9750
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
5.15k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
5.15k
{
9744
5.15k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
5.15k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
5.15k
    if (SCN_UNLIKELY(!result)) {
9748
5.15k
        return unexpected(result.error());
9749
5.15k
    }
9750
0
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
5.15k
}
9752
}  // namespace detail
9753
9754
SCN_GCC_PUSH
9755
SCN_GCC_IGNORE("-Wnoexcept")
9756
9757
/**
9758
 * Perform actual scanning from `source`, according to `format`, into the
9759
 * type-erased arguments at `args`. Called by `scan`.
9760
 *
9761
 * \ingroup vscan
9762
 */
9763
template <typename Source>
9764
auto vscan(Source&& source, std::string_view format, scan_args args)
9765
    -> vscan_result<Source>
9766
89.7k
{
9767
89.7k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
89.7k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9766
41.0k
{
9767
41.0k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
41.0k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9766
48.7k
{
9767
48.7k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
48.7k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9769
9770
/**
9771
 * Perform actual scanning from `source`, according to `format`, into the
9772
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9773
 * `scan`.
9774
 *
9775
 * \ingroup locale
9776
 */
9777
template <typename Source,
9778
          typename Locale,
9779
          typename = std::void_t<decltype(Locale::classic())>>
9780
auto vscan(const Locale& loc,
9781
           Source&& source,
9782
           std::string_view format,
9783
           scan_args args) -> vscan_result<Source>
9784
89.7k
{
9785
89.7k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
89.7k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSI_16buffer_range_tagEcEEEE
Line
Count
Source
9784
41.0k
{
9785
41.0k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
41.0k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSN_16buffer_range_tagEcEEEE
Line
Count
Source
9784
48.7k
{
9785
48.7k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
48.7k
}
9787
9788
/**
9789
 * Perform actual scanning from `source` into the type-erased argument at
9790
 * `arg`. Called by `scan_value`.
9791
 *
9792
 * \ingroup vscan
9793
 */
9794
template <typename Source>
9795
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9796
    -> vscan_result<Source>
9797
5.15k
{
9798
5.15k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
5.15k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9797
2.57k
{
9798
2.57k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
2.57k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9797
2.57k
{
9798
2.57k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
2.57k
}
9800
9801
/**
9802
 * Perform actual scanning from `stdin`, according to `format`, into the
9803
 * type-erased arguments at `args`. Called by `input`.
9804
 *
9805
 * \ingroup vscan
9806
 */
9807
scan_expected<void> vinput(std::string_view format, scan_args args);
9808
9809
namespace detail {
9810
template <typename T>
9811
auto scan_int_impl(std::string_view source, T& value, int base)
9812
    -> scan_expected<std::string_view::iterator>;
9813
9814
template <typename T>
9815
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9816
9817
#if !SCN_DISABLE_TYPE_SCHAR
9818
extern template auto scan_int_impl(std::string_view source,
9819
                                   signed char& value,
9820
                                   int base)
9821
    -> scan_expected<std::string_view::iterator>;
9822
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9823
    -> signed char;
9824
#endif
9825
#if !SCN_DISABLE_TYPE_SHORT
9826
extern template auto scan_int_impl(std::string_view source,
9827
                                   short& value,
9828
                                   int base)
9829
    -> scan_expected<std::string_view::iterator>;
9830
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9831
#endif
9832
#if !SCN_DISABLE_TYPE_INT
9833
extern template auto scan_int_impl(std::string_view source,
9834
                                   int& value,
9835
                                   int base)
9836
    -> scan_expected<std::string_view::iterator>;
9837
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9838
#endif
9839
#if !SCN_DISABLE_TYPE_LONG
9840
extern template auto scan_int_impl(std::string_view source,
9841
                                   long& value,
9842
                                   int base)
9843
    -> scan_expected<std::string_view::iterator>;
9844
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9845
#endif
9846
#if !SCN_DISABLE_TYPE_LONG_LONG
9847
extern template auto scan_int_impl(std::string_view source,
9848
                                   long long& value,
9849
                                   int base)
9850
    -> scan_expected<std::string_view::iterator>;
9851
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9852
    -> long long;
9853
#endif
9854
#if !SCN_DISABLE_TYPE_UCHAR
9855
extern template auto scan_int_impl(std::string_view source,
9856
                                   unsigned char& value,
9857
                                   int base)
9858
    -> scan_expected<std::string_view::iterator>;
9859
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9860
    -> unsigned char;
9861
#endif
9862
#if !SCN_DISABLE_TYPE_USHORT
9863
extern template auto scan_int_impl(std::string_view source,
9864
                                   unsigned short& value,
9865
                                   int base)
9866
    -> scan_expected<std::string_view::iterator>;
9867
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9868
    -> unsigned short;
9869
#endif
9870
#if !SCN_DISABLE_TYPE_UINT
9871
extern template auto scan_int_impl(std::string_view source,
9872
                                   unsigned int& value,
9873
                                   int base)
9874
    -> scan_expected<std::string_view::iterator>;
9875
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9876
    -> unsigned int;
9877
#endif
9878
#if !SCN_DISABLE_TYPE_ULONG
9879
extern template auto scan_int_impl(std::string_view source,
9880
                                   unsigned long& value,
9881
                                   int base)
9882
    -> scan_expected<std::string_view::iterator>;
9883
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9884
    -> unsigned long;
9885
#endif
9886
#if !SCN_DISABLE_TYPE_ULONG_LONG
9887
extern template auto scan_int_impl(std::string_view source,
9888
                                   unsigned long long& value,
9889
                                   int base)
9890
    -> scan_expected<std::string_view::iterator>;
9891
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9892
    -> unsigned long long;
9893
#endif
9894
9895
#if SCN_HAS_INT128
9896
9897
#if !SCN_DISABLE_TYPE_INT128
9898
extern template auto scan_int_impl(std::string_view source,
9899
                                   int128& value,
9900
                                   int base)
9901
    -> scan_expected<std::string_view::iterator>;
9902
#endif
9903
9904
#if !SCN_DISABLE_TYPE_UINT128
9905
extern template auto scan_int_impl(std::string_view source,
9906
                                   uint128& value,
9907
                                   int base)
9908
    -> scan_expected<std::string_view::iterator>;
9909
#endif
9910
9911
#endif  // SCN_HAS_INT128
9912
9913
}  // namespace detail
9914
9915
SCN_GCC_POP  // -Wnoexcept
9916
9917
    // dummy namespace to reset formatting
9918
    namespace detail
9919
{
9920
}
9921
9922
/////////////////////////////////////////////////////////////////
9923
// scan
9924
/////////////////////////////////////////////////////////////////
9925
9926
/**
9927
 * The return type of `scan`, based on the type of the source, and the
9928
 * types of the scanned arguments.
9929
 */
9930
template <typename Source, typename... Args>
9931
using scan_result_type =
9932
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9933
9934
/**
9935
 * If `in` contains a successful result as returned from `vscan`,
9936
 * the range contained in `out` is set to `*in`.
9937
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9938
 */
9939
template <typename Result,
9940
          typename Range,
9941
          std::enable_if_t<std::conjunction_v<
9942
              detail::is_specialization_of<Result, scan_result>,
9943
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9944
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9945
384k
{
9946
384k
    if (SCN_UNLIKELY(!in)) {
9947
231k
        out = unexpected(in.error());
9948
231k
    }
9949
152k
    else {
9950
152k
        out->set_range(SCN_MOVE(*in));
9951
152k
    }
9952
384k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJ2tmEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
28.2k
{
9946
28.2k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
15.3k
    else {
9950
15.3k
        out->set_range(SCN_MOVE(*in));
9951
15.3k
    }
9952
28.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_10tm_with_tzEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
28.2k
{
9946
28.2k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
15.3k
    else {
9950
15.3k
        out->set_range(SCN_MOVE(*in));
9951
15.3k
    }
9952
28.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNS0_19datetime_componentsEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
28.2k
{
9946
28.2k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
15.3k
    else {
9950
15.3k
        out->set_range(SCN_MOVE(*in));
9951
15.3k
    }
9952
28.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJ2tmEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.3k
{
9946
33.3k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
20.4k
    else {
9950
20.4k
        out->set_range(SCN_MOVE(*in));
9951
20.4k
    }
9952
33.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_10tm_with_tzEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.3k
{
9946
33.3k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
20.4k
    else {
9950
20.4k
        out->set_range(SCN_MOVE(*in));
9951
20.4k
    }
9952
33.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS0_19datetime_componentsEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.3k
{
9946
33.3k
    if (SCN_UNLIKELY(!in)) {
9947
12.8k
        out = unexpected(in.error());
9948
12.8k
    }
9949
20.4k
    else {
9950
20.4k
        out->set_range(SCN_MOVE(*in));
9951
20.4k
    }
9952
33.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJ2tmEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_10tm_with_tzEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNS0_19datetime_componentsEEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJ2tmEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_10tm_with_tzEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS0_19datetime_componentsEEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9945
33.2k
{
9946
33.2k
    if (SCN_UNLIKELY(!in)) {
9947
25.7k
        out = unexpected(in.error());
9948
25.7k
    }
9949
7.48k
    else {
9950
7.48k
        out->set_range(SCN_MOVE(*in));
9951
7.48k
    }
9952
33.2k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
9953
9954
/**
9955
 * Returns an empty result type for a source of type `Source`, and arguments of
9956
 * type `Args...`.
9957
 */
9958
template <typename Source, typename... Args>
9959
auto make_scan_result()
9960
384k
{
9961
384k
    return scan_result_type<Source, Args...>();
9962
384k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, tm>()
Line
Count
Source
9960
28.2k
{
9961
28.2k
    return scan_result_type<Source, Args...>();
9962
28.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::tm_with_tz>()
Line
Count
Source
9960
28.2k
{
9961
28.2k
    return scan_result_type<Source, Args...>();
9962
28.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::datetime_components>()
Line
Count
Source
9960
28.2k
{
9961
28.2k
    return scan_result_type<Source, Args...>();
9962
28.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, tm>()
Line
Count
Source
9960
33.3k
{
9961
33.3k
    return scan_result_type<Source, Args...>();
9962
33.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::tm_with_tz>()
Line
Count
Source
9960
33.3k
{
9961
33.3k
    return scan_result_type<Source, Args...>();
9962
33.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::datetime_components>()
Line
Count
Source
9960
33.3k
{
9961
33.3k
    return scan_result_type<Source, Args...>();
9962
33.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, tm>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::tm_with_tz>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::datetime_components>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, tm>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::tm_with_tz>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::datetime_components>()
Line
Count
Source
9960
33.2k
{
9961
33.2k
    return scan_result_type<Source, Args...>();
9962
33.2k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9963
9964
template <typename Source, typename... Args>
9965
auto make_scan_result(std::tuple<Args...>&& initial_values)
9966
{
9967
    using type = scan_result_type<Source, Args...>;
9968
    using subrange_type = typename type::value_type::range_type;
9969
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9970
}
9971
9972
/**
9973
 * \defgroup scan Basic scanning API
9974
 *
9975
 * \brief The core public-facing interface of the library
9976
 *
9977
 * The following functions use a format string syntax similar to that of
9978
 * `std::format`. See more at \ref format-string.
9979
 *
9980
 * When these functions take a `source` as input, it must
9981
 * model the `scannable_source` concept. See more at \ref scannable.
9982
 */
9983
9984
/**
9985
 * Scans `Args...` from `source`, according to the
9986
 * specifications given in the format string (`format`).
9987
 * Returns the resulting values in an object of type `scan_result`,
9988
 * alongside a `subrange` pointing to the unused input.
9989
 *
9990
 * Example:
9991
 * \code{.cpp}
9992
 * if (auto result = scn::scan<int>("123", "{}"))
9993
 *     int value = result->value();
9994
 * \endcode
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename... Args,
9999
          typename Source,
10000
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10001
SCN_NODISCARD auto scan(Source&& source,
10002
                        scan_format_string<Source, Args...> format)
10003
    -> scan_result_type<Source, Args...>
10004
89.7k
{
10005
89.7k
    auto result = make_scan_result<Source, Args...>();
10006
89.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
89.7k
                                   make_scan_args(result->values())));
10008
89.7k
    return result;
10009
89.7k
}
_ZN3scn2v44scanIJ2tmENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
10004
13.6k
{
10005
13.6k
    auto result = make_scan_result<Source, Args...>();
10006
13.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
13.6k
                                   make_scan_args(result->values())));
10008
13.6k
    return result;
10009
13.6k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
10004
13.6k
{
10005
13.6k
    auto result = make_scan_result<Source, Args...>();
10006
13.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
13.6k
                                   make_scan_args(result->values())));
10008
13.6k
    return result;
10009
13.6k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEEOSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSV_ISP_E4typeEEEE
Line
Count
Source
10004
13.6k
{
10005
13.6k
    auto result = make_scan_result<Source, Args...>();
10006
13.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
13.6k
                                   make_scan_args(result->values())));
10008
13.6k
    return result;
10009
13.6k
}
_ZN3scn2v44scanIJ2tmENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
10004
16.2k
{
10005
16.2k
    auto result = make_scan_result<Source, Args...>();
10006
16.2k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
16.2k
                                   make_scan_args(result->values())));
10008
16.2k
    return result;
10009
16.2k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
10004
16.2k
{
10005
16.2k
    auto result = make_scan_result<Source, Args...>();
10006
16.2k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
16.2k
                                   make_scan_args(result->values())));
10008
16.2k
    return result;
10009
16.2k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
10004
16.2k
{
10005
16.2k
    auto result = make_scan_result<Source, Args...>();
10006
16.2k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
16.2k
                                   make_scan_args(result->values())));
10008
16.2k
    return result;
10009
16.2k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
10010
10011
/**
10012
 * `scan` with explicitly supplied default values
10013
 *
10014
 * Can be used, for example, for pre-allocating a scanned string:
10015
 *
10016
 * \code{.cpp}
10017
 * std::string str;
10018
 * str.reserve(64);
10019
 *
10020
 * // As long as the read string fits in `str`,
10021
 * // does not allocate
10022
 * auto result = scn::scan<std::string>(source, "{}",
10023
 *                                      {std::move(str)});
10024
 * // Access the read string with result->value()
10025
 * \endcode
10026
 *
10027
 * \ingroup scan
10028
 */
10029
template <typename... Args,
10030
          typename Source,
10031
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10032
SCN_NODISCARD auto scan(Source&& source,
10033
                        scan_format_string<Source, Args...> format,
10034
                        std::tuple<Args...>&& initial_args)
10035
    -> scan_result_type<Source, Args...>
10036
{
10037
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
10038
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10039
                                   make_scan_args(result->values())));
10040
    return result;
10041
}
10042
10043
/**
10044
 * \defgroup locale Localization
10045
 *
10046
 * \brief Scanning APIs that allow passing in a locale
10047
 */
10048
10049
/**
10050
 * `scan` using an explicit locale.
10051
 *
10052
 * Has no effect on its own, locale-specific scanning still needs to be
10053
 * opted-into on an argument-by-argument basis, with the `L` format string
10054
 * specifier.
10055
 *
10056
 * \code{.cpp}
10057
 * auto result = scn::scan<double>(
10058
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
10059
 * // result->value() == 3.14
10060
 * \endcode
10061
 *
10062
 * \ingroup locale
10063
 */
10064
template <typename... Args,
10065
          typename Locale,
10066
          typename Source,
10067
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
10068
          typename = std::void_t<decltype(Locale::classic())>>
10069
SCN_NODISCARD auto scan(const Locale& loc,
10070
                        Source&& source,
10071
                        scan_format_string<Source, Args...> format)
10072
    -> scan_result_type<Source, Args...>
10073
89.7k
{
10074
89.7k
    auto result = make_scan_result<Source, Args...>();
10075
89.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
89.7k
                                   make_scan_args(result->values())));
10077
89.7k
    return result;
10078
89.7k
}
_ZN3scn2v44scanIJ2tmENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
10073
13.6k
{
10074
13.6k
    auto result = make_scan_result<Source, Args...>();
10075
13.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
13.6k
                                   make_scan_args(result->values())));
10077
13.6k
    return result;
10078
13.6k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
10073
13.6k
{
10074
13.6k
    auto result = make_scan_result<Source, Args...>();
10075
13.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
13.6k
                                   make_scan_args(result->values())));
10077
13.6k
    return result;
10078
13.6k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEERKT0_OSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSZ_ISQ_E4typeEEEE
Line
Count
Source
10073
13.6k
{
10074
13.6k
    auto result = make_scan_result<Source, Args...>();
10075
13.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
13.6k
                                   make_scan_args(result->values())));
10077
13.6k
    return result;
10078
13.6k
}
_ZN3scn2v44scanIJ2tmENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
10073
16.2k
{
10074
16.2k
    auto result = make_scan_result<Source, Args...>();
10075
16.2k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
16.2k
                                   make_scan_args(result->values())));
10077
16.2k
    return result;
10078
16.2k
}
_ZN3scn2v44scanIJNS0_10tm_with_tzEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
10073
16.2k
{
10074
16.2k
    auto result = make_scan_result<Source, Args...>();
10075
16.2k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
16.2k
                                   make_scan_args(result->values())));
10077
16.2k
    return result;
10078
16.2k
}
_ZN3scn2v44scanIJNS0_19datetime_componentsEENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
10073
16.2k
{
10074
16.2k
    auto result = make_scan_result<Source, Args...>();
10075
16.2k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
16.2k
                                   make_scan_args(result->values())));
10077
16.2k
    return result;
10078
16.2k
}
10079
10080
/**
10081
 * `scan` with a locale and default values
10082
 *
10083
 * \ingroup locale
10084
 */
10085
template <typename... Args,
10086
          typename Locale,
10087
          typename Source,
10088
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
10089
          typename = std::void_t<decltype(Locale::classic())>>
10090
SCN_NODISCARD auto scan(const Locale& loc,
10091
                        Source&& source,
10092
                        scan_format_string<Source, Args...> format,
10093
                        std::tuple<Args...>&& initial_args)
10094
    -> scan_result_type<Source, Args...>
10095
{
10096
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
10097
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10098
                                   make_scan_args(result->values())));
10099
    return result;
10100
}
10101
10102
/**
10103
 * `scan` a single value, with default options.
10104
 *
10105
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
10106
 * except it can skip parsing the format string, gaining performance.
10107
 *
10108
 * \ingroup scan
10109
 */
10110
template <typename T,
10111
          typename Source,
10112
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10113
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
10114
5.15k
{
10115
5.15k
    auto result = make_scan_result<Source, T>();
10116
5.15k
    fill_scan_result(
10117
5.15k
        result, vscan_value(SCN_FWD(source),
10118
5.15k
                            detail::make_arg<scan_context>(result->value())));
10119
5.15k
    return result;
10120
5.15k
}
_ZN3scn2v410scan_valueI2tmNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
_ZN3scn2v410scan_valueINS0_10tm_with_tzENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
_ZN3scn2v410scan_valueINS0_19datetime_componentsENS0_6ranges6detail9subrange_8subrangeIPKcS8_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJT_EEEEEOSE_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
_ZN3scn2v410scan_valueI2tmNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
_ZN3scn2v410scan_valueINS0_10tm_with_tzENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
_ZN3scn2v410scan_valueINS0_19datetime_componentsENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvEENS0_13scan_expectedINS0_11scan_resultINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
10114
859
{
10115
859
    auto result = make_scan_result<Source, T>();
10116
859
    fill_scan_result(
10117
859
        result, vscan_value(SCN_FWD(source),
10118
859
                            detail::make_arg<scan_context>(result->value())));
10119
859
    return result;
10120
859
}
10121
10122
/**
10123
 * `scan` a single value, with default options, and a default value.
10124
 *
10125
 * \ingroup scan
10126
 */
10127
template <typename T,
10128
          typename Source,
10129
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
10130
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
10131
    -> scan_result_type<Source, T>
10132
{
10133
    auto result =
10134
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
10135
    fill_scan_result(
10136
        result, vscan_value(SCN_FWD(source),
10137
                            detail::make_arg<scan_context>(result->value())));
10138
    return result;
10139
}
10140
10141
/**
10142
 * Scan from `stdin`.
10143
 *
10144
 * Equivalent to `scn::scan<...>(stdin, ...)`.
10145
 *
10146
 * \code{.cpp}
10147
 * auto result = scn::input<int>("{}");
10148
 * \endcode
10149
 *
10150
 * \ingroup scan
10151
 */
10152
template <typename... Args>
10153
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
10154
    -> scan_result_type<std::FILE*, Args...>
10155
{
10156
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
10157
                                                        std::tuple<Args...>{});
10158
    auto err = vinput(format, make_scan_args(result->values()));
10159
    if (SCN_UNLIKELY(!err)) {
10160
        result = unexpected(err.error());
10161
    }
10162
    return result;
10163
}
10164
10165
/**
10166
 * Write msg to stdout, and call `input<Args...>(format)`
10167
 *
10168
 * \ingroup scan
10169
 */
10170
template <typename... Args>
10171
SCN_NODISCARD auto prompt(const char* msg,
10172
                          scan_format_string<std::FILE*, Args...> format)
10173
    -> scan_result_type<std::FILE*, Args...>
10174
{
10175
    std::printf("%s", msg);
10176
    std::fflush(stdout);
10177
    return input<Args...>(format);
10178
}
10179
10180
namespace detail {
10181
template <typename T>
10182
inline constexpr bool is_scan_int_type =
10183
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
10184
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
10185
     !std::is_same_v<T, bool>)
10186
#if SCN_HAS_INT128
10187
    || std::is_same_v<T, int128> || std::is_same_v<T, uint128>
10188
#endif
10189
    ;
10190
}  // namespace detail
10191
10192
/**
10193
 * Fast integer reading.
10194
 *
10195
 * Quickly reads an integer from a `std::string_view`. Skips preceding
10196
 * whitespace.
10197
 *
10198
 * Reads in the specified base,
10199
 * allowing a base prefix. Set `base` to `0` to detect the base from the
10200
 * input. `base` must either be `0`, or in range `[2, 36]`.
10201
 *
10202
 * \ingroup scan
10203
 */
10204
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10205
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
10206
    -> scan_result_type<std::string_view, T>
10207
{
10208
    auto result = scan_result_type<std::string_view, T>();
10209
    if (auto r = detail::scan_int_impl(source, result->value(), base);
10210
        SCN_LIKELY(r)) {
10211
        result->set_range(ranges::subrange{*r, source.end()});
10212
    }
10213
    else {
10214
        result = unexpected(r.error());
10215
    }
10216
    return result;
10217
}
10218
10219
namespace detail {
10220
template <bool Val, typename T>
10221
inline constexpr bool dependent_bool = Val;
10222
}
10223
10224
/**
10225
 * Very fast integer reading.
10226
 *
10227
 * Quickly reads an integer from a `std::string_view`.
10228
 *
10229
 * Be very careful when using this one!
10230
 * Its speed comes from some very heavy assumptions about the validity of
10231
 * the input:
10232
 *  - `source` must not be empty.
10233
 *  - `source` contains nothing but the integer: no leading or trailing
10234
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
10235
 *    no `+` is allowed.
10236
 *  - The parsed value does not overflow.
10237
 *  - The input is a valid base-10 integer.
10238
 * Breaking these assumptions will lead to UB.
10239
 *
10240
 * \ingroup scan
10241
 */
10242
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10243
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10244
{
10245
    static_assert(
10246
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10247
        "scan_int_exhaustive_valid requires a little endian environment");
10248
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10249
}
10250
10251
SCN_END_NAMESPACE
10252
}  // namespace scn